<SEC-DOCUMENT>0001654954-24-004455.txt : 20240410
<SEC-HEADER>0001654954-24-004455.hdr.sgml : 20240410
<ACCEPTANCE-DATETIME>20240410162836
ACCESSION NUMBER:		0001654954-24-004455
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		68
CONFORMED PERIOD OF REPORT:	20240229
FILED AS OF DATE:		20240410
DATE AS OF CHANGE:		20240410

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			AEHR TEST SYSTEMS
		CENTRAL INDEX KEY:			0001040470
		STANDARD INDUSTRIAL CLASSIFICATION:	INSTRUMENTS FOR MEAS & TESTING OF ELECTRICITY & ELEC SIGNALS [3825]
		ORGANIZATION NAME:           	08 Industrial Applications and Services
		IRS NUMBER:				942424084
		STATE OF INCORPORATION:			CA
		FISCAL YEAR END:			1231

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

	BUSINESS ADDRESS:	
		STREET 1:		400 KATO TERRACE
		CITY:			FREMONT
		STATE:			CA
		ZIP:			94539
		BUSINESS PHONE:		5106239400

	MAIL ADDRESS:	
		STREET 1:		400 KATO TERRACE
		CITY:			FREMONT
		STATE:			CA
		ZIP:			94539
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>aehr_10q.htm
<DESCRIPTION>FORM 10-Q
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html 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:currency="http://xbrl.sec.gov/currency/2023" xmlns="http://www.w3.org/1999/xhtml" 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" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:us-roles="http://fasb.org/us-roles/2023" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:srt-types="http://fasb.org/srt-types/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:srt="http://fasb.org/srt/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:aehr="http://aehr.com/20240229"><head><title>aehr_10q.htm</title><!--Document Created by XBRLMaster--><meta http-equiv="Content-Type" content="text/html"/></head><body style="text-align:justify;font:10pt times new roman"><div style="display:none;text-align:justify;font:10pt times new roman;" id="XBRLDIV"><ix:header><ix:hidden><ix:nonNumeric name="dei:EntityCentralIndexKey" contextRef="From2023-06-01to2024-02-29" id="ixv-12210">0001040470</ix:nonNumeric><ix:nonNumeric name="dei:AmendmentFlag" contextRef="From2023-06-01to2024-02-29" format="ixt:booleanfalse" id="ixv-12211">false</ix:nonNumeric><ix:nonNumeric name="dei:CurrentFiscalYearEndDate" contextRef="From2023-06-01to2024-02-29" id="ixv-12212">--05-31</ix:nonNumeric><ix:nonNumeric name="dei:DocumentFiscalPeriodFocus" contextRef="From2023-06-01to2024-02-29" id="ixv-12213">Q3</ix:nonNumeric><ix:nonNumeric name="dei:DocumentFiscalYearFocus" contextRef="From2023-06-01to2024-02-29" id="ixv-12214">2024</ix:nonNumeric><ix:nonFraction name="us-gaap:PreferredStockNoParValue" contextRef="AsOf2023-05-31" unitRef="USDPShares" decimals="INF" id="ixv-12215">0.01</ix:nonFraction><ix:nonFraction name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2023-05-31" unitRef="Shares" decimals="0" id="ixv-12216">10000000</ix:nonFraction><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2023-05-31" unitRef="Shares" decimals="0" id="ixv-12217">0</ix:nonFraction><ix:nonFraction name="us-gaap:PreferredStockSharesIssued" contextRef="AsOf2024-02-29" unitRef="Shares" decimals="0" id="ixv-12218">0</ix:nonFraction><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2023-05-31" unitRef="Shares" decimals="0" id="ixv-12219">0</ix:nonFraction><ix:nonFraction name="us-gaap:PreferredStockSharesOutstanding" contextRef="AsOf2024-02-29" unitRef="Shares" decimals="0" id="ixv-12220">0</ix:nonFraction><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2023-05-31" unitRef="USDPShares" decimals="INF" id="ixv-12221">0.01</ix:nonFraction><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2023-05-31" unitRef="Shares" decimals="0" id="ixv-12222">75000000</ix:nonFraction><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2024-02-29" unitRef="Shares" decimals="0" id="ixv-12223">28906000</ix:nonFraction><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="AsOf2023-05-31" unitRef="Shares" decimals="0" id="ixv-12224">28539000</ix:nonFraction><ix:nonFraction name="us-gaap:SecuritiesBorrowedAllowanceForCreditLoss" contextRef="AsOf2023-05-31" unitRef="USD" decimals="0" id="ixv-12225">0</ix:nonFraction><ix:nonFraction name="aehr:FairValueAssetsLevelOneToLevelTwoTransfersAmount" contextRef="From2023-06-01to2023-08-31" unitRef="USD" decimals="0" id="ixv-12226">0</ix:nonFraction><ix:nonFraction name="us-gaap:RestrictedCashNoncurrent" contextRef="AsOf2023-05-31" unitRef="USD" decimals="0" id="ixv-12227">150000</ix:nonFraction><ix:nonFraction name="us-gaap:FinancialLiabilitiesFairValueDisclosure" contextRef="AsOf2023-05-31" unitRef="USD" decimals="0" id="ixv-12228">0</ix:nonFraction><ix:nonFraction name="us-gaap:FinancialLiabilitiesFairValueDisclosure" contextRef="AsOf2024-02-29" unitRef="USD" decimals="0" id="ixv-12229">0</ix:nonFraction><ix:nonFraction name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="From2023-12-01to2024-02-29" unitRef="Shares" decimals="0" id="ixv-12230">0</ix:nonFraction></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="aehr-20240229.xsd"/></ix:references><ix:resources><xbrli:context id="From2023-06-01to2024-02-29"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_aehr_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">aehr:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_aehr_InternationalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">aehr:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_country_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_country_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_aehr_NonvestedRSUActivtyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">aehr:NonvestedRSUActivtyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2023-08-31_aehr_NonvestedRSUActivtyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">aehr:NonvestedRSUActivtyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2023-08-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-12-01to2024-02-29_aehr_NonvestedRSUActivtyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">aehr:NonvestedRSUActivtyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-09-01to2023-11-30_aehr_NonvestedRSUActivtyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">aehr:NonvestedRSUActivtyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-09-01</xbrli:startDate><xbrli:endDate>2023-11-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-08-31_aehr_NonvestedRSUActivtyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">aehr:NonvestedRSUActivtyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-08-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-11-30_aehr_NonvestedRSUActivtyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">aehr:NonvestedRSUActivtyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-11-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_aehr_NonvestedRSUActivtyMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">aehr:NonvestedRSUActivtyMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2023-12-01to2024-02-29_us-gaap_ResearchAndDevelopmentExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-06-01to2023-02-28_us-gaap_ResearchAndDevelopmentExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_us-gaap_ResearchAndDevelopmentExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-12-01to2023-02-28_us-gaap_ResearchAndDevelopmentExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-12-01to2024-02-29_us-gaap_GeneralAndAdministrativeExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-06-01to2023-02-28_us-gaap_GeneralAndAdministrativeExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_us-gaap_GeneralAndAdministrativeExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-12-01to2023-02-28_us-gaap_GeneralAndAdministrativeExpenseMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-12-01to2024-02-29_us-gaap_CostOfSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-12-01to2023-02-28_us-gaap_CostOfSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_us-gaap_CostOfSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-06-01to2023-02-28_us-gaap_CostOfSalesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="AsOf2025-05-30_srt_ScenarioForecastMember_us-gaap_SubsequentEventMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2025-05-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-05-30_srt_ScenarioForecastMember_us-gaap_SubsequentEventMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-05-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_aehr_ServicesTransferredOverTimeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">aehr:ServicesTransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-12-01to2023-02-28_aehr_ServicesTransferredOverTimeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">aehr:ServicesTransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-12-01to2024-02-29_aehr_ServicesTransferredOverTimeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">aehr:ServicesTransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-06-01to2023-02-28_aehr_ServicesTransferredOverTimeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">aehr:ServicesTransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_aehr_ProductsAndServicesTransferredAtAPointInTimeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">aehr:ProductsAndServicesTransferredAtAPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-12-01to2023-02-28_aehr_ProductsAndServicesTransferredAtAPointInTimeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">aehr:ProductsAndServicesTransferredAtAPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-12-01to2024-02-29_aehr_ProductsAndServicesTransferredAtAPointInTimeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">aehr:ProductsAndServicesTransferredAtAPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-06-01to2023-02-28_aehr_ProductsAndServicesTransferredAtAPointInTimeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">aehr:ProductsAndServicesTransferredAtAPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-12-01to2023-02-28_aehr_ServicesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:ServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-12-01to2024-02-29_aehr_ServicesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:ServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-12-01to2023-02-28_aehr_ContactorsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:ContactorsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-12-01to2024-02-29_aehr_ContactorsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:ContactorsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-12-01to2023-02-28_aehr_SystemsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:SystemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-12-01to2024-02-29_aehr_SystemsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:SystemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-06-01to2023-02-28_aehr_ServicesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:ServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-06-01to2023-02-28_aehr_ContactorsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:ContactorsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-06-01to2023-02-28_aehr_SystemsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:SystemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_aehr_ContactorsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:ContactorsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_aehr_ServicesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:ServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_aehr_SystemsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:SystemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-06-01to2023-02-28_country_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-06-01to2023-02-28_srt_AsiaMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-06-01to2023-02-28_srt_EuropeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-12-01to2023-02-28_srt_EuropeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-12-01to2023-02-28_srt_AsiaMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-12-01to2024-02-29_srt_EuropeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-12-01to2024-02-29_srt_AsiaMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-12-01to2023-02-28_country_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-12-01to2024-02-29_country_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_srt_AsiaMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_srt_EuropeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_country_US"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_aehr_UnrealizedLossOnInvestmentsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OtherComprehensiveIncomeLocationAxis">aehr:UnrealizedLossOnInvestmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_aehr_CumulativeTranslationAdjustmentsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:CumulativeTranslationAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_aehr_UnrealizedLossOnInvestmentsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OtherComprehensiveIncomeLocationAxis">aehr:UnrealizedLossOnInvestmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_aehr_CumulativeTranslationAdjustmentsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:CumulativeTranslationAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_aehr_UnrealizedLossOnInvestmentsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:OtherComprehensiveIncomeLocationAxis">aehr:UnrealizedLossOnInvestmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_aehr_CumulativeTranslationAdjustmentsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:CumulativeTranslationAdjustmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2021-08-25"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-08-25</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2023-02-01to2023-02-08"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-02-01</xbrli:startDate><xbrli:endDate>2023-02-08</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2021-10-01to2021-10-08"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2021-10-01</xbrli:startDate><xbrli:endDate>2021-10-08</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-02-08"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-02-08</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2021-10-08"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2021-10-08</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_aehr_ThirdAmendmentToLoanAndSecurityAgreementMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:ThirdAmendmentToLoanAndSecurityAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_aehr_ThirdAmendmentToLoanAndSecurityAgreementMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:ThirdAmendmentToLoanAndSecurityAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_aehr_FirstAmendmentToLoanAndSecurityAgreementMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:FirstAmendmentToLoanAndSecurityAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_aehr_SecondAmendmentToLoanAndSecurityAgreementMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:SecondAmendmentToLoanAndSecurityAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_aehr_OriginalLoanAndSecurityAgreementMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:OriginalLoanAndSecurityAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_aehr_SecondAmendmentToLoanAndSecurityAgreementMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:SecondAmendmentToLoanAndSecurityAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_aehr_OriginalLoanAndSecurityAgreementMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:OriginalLoanAndSecurityAgreementMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2023-08-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2023-08-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_aehr_EstimatedFairValueMember_aehr_UnitedStateTreasurySecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:EstimatedFairValueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:UnitedStateTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_aehr_GrossUnrealizedLossMember_aehr_UnitedStateTreasurySecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:GrossUnrealizedLossMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:UnitedStateTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_aehr_CostMember_aehr_UnitedStateTreasurySecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:CostMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:UnitedStateTreasurySecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_aehr_EstimatedFairValueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:EstimatedFairValueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_aehr_EstimatedFairValueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:EstimatedFairValueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_aehr_GrossUnrealizedLossMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:GrossUnrealizedLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_aehr_GrossUnrealizedLossMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:GrossUnrealizedLossMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_aehr_CostMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:CostMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_aehr_CostMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:CostMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_aehr_EstimatedFairValueMember_aehr_MoneyMarketFundMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:EstimatedFairValueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_aehr_GrossUnrealizedLossMember_aehr_MoneyMarketFundMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:GrossUnrealizedLossMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_aehr_EstimatedFairValueMember_aehr_MoneyMarketFundMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:EstimatedFairValueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_aehr_GrossUnrealizedLossMember_aehr_MoneyMarketFundMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:GrossUnrealizedLossMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_aehr_CostMember_aehr_MoneyMarketFundMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:CostMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_aehr_CostMember_aehr_MoneyMarketFundMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:CostMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_us-gaap_FairValueInputsLevel3Member_aehr_MoneyMarketFundMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_us-gaap_FairValueInputsLevel2Member_aehr_MoneyMarketFundMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_us-gaap_FairValueInputsLevel1Member_aehr_MoneyMarketFundMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_aehr_MoneyMarketFundMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel3Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:AssetsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel3Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:AssetsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel2Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:AssetsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel2Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:AssetsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel1Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:AssetsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel1Member"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:AssetsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_us-gaap_AssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:AssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_us-gaap_AssetsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:AssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_us-gaap_FairValueInputsLevel1Member_aehr_USTreasurySecurityMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:USTreasurySecurityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_aehr_UStreasurysecuritiesMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:UStreasurysecuritiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_us-gaap_FairValueInputsLevel3Member_aehr_MoneyMarketFundMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_us-gaap_FairValueInputsLevel2Member_aehr_MoneyMarketFundMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_us-gaap_FairValueInputsLevel1Member_aehr_MoneyMarketFundMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_aehr_MoneyMarketFundMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_aehr_RevenueMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:RevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_aehr_RevenuesMember_aehr_CustomerAMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">aehr:RevenuesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-09-01to2023-05-31_us-gaap_AccountsReceivableMember_aehr_CustomerCMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-09-01</xbrli:startDate><xbrli:endDate>2023-05-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_aehr_RevenuesMember_aehr_CustomerCMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">aehr:RevenuesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerCMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-06-01to2023-02-28_aehr_RevenuesMember_aehr_CustomerBMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">aehr:RevenuesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-06-01to2023-02-28_aehr_RevenuesMember_aehr_CustomerAMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">aehr:RevenuesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_us-gaap_AccountsReceivableMember_aehr_CustomerAMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-12-01to2023-02-28_aehr_RevenuesMember_aehr_CustomerBMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">aehr:RevenuesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-12-01to2023-02-28_aehr_RevenuesMember_aehr_CustomerAMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">aehr:RevenuesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-12-01to2024-02-29_aehr_RevenuesMember_aehr_CustomerBMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">aehr:RevenuesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-12-01to2024-02-29_aehr_RevenuesMember_aehr_CustomerAMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">aehr:RevenuesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-09-01to2023-05-31_us-gaap_AccountsReceivableMember_aehr_CustomerAMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-09-01</xbrli:startDate><xbrli:endDate>2023-05-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_us-gaap_AccountsReceivableMember_aehr_CustomerBMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerBMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_us-gaap_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_us-gaap_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_us-gaap_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29_us-gaap_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2023-12-01to2024-02-29_us-gaap_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-12-01to2024-02-29_us-gaap_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-12-01to2024-02-29_us-gaap_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-12-01to2024-02-29_us-gaap_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-11-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-11-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-11-30_us-gaap_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-11-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-11-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-11-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-11-30_us-gaap_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-11-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-11-30_us-gaap_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-11-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-28"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-02-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-28_us-gaap_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-28_us-gaap_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-28_us-gaap_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-02-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-28"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-28_us-gaap_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-28_us-gaap_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-28_us-gaap_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_us-gaap_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_us-gaap_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31_us-gaap_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2022-12-01to2023-02-28_us-gaap_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-12-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-12-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-12-01to2023-02-28_us-gaap_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-11-30"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-11-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-11-30_us-gaap_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-11-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-11-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-11-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-11-30_us-gaap_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-11-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-11-30_us-gaap_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-11-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-02-28"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-02-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-02-28_us-gaap_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-02-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-02-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-02-28_us-gaap_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-02-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-02-28_us-gaap_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-02-28</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2022-06-01to2023-02-28_us-gaap_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-06-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-06-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-06-01to2023-02-28_us-gaap_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-05-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-05-31_us-gaap_RetainedEarningsMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-05-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-05-31_us-gaap_AdditionalPaidInCapitalMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2022-05-31_us-gaap_CommonStockMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="From2022-06-01to2023-02-28_us-gaap_ProductMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-12-01to2023-02-28_us-gaap_ProductMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_us-gaap_ProductMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-12-01to2024-02-29_us-gaap_ProductMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-06-01to2023-02-28_us-gaap_ServiceMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-12-01to2023-02-28_us-gaap_ServiceMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-12-01to2024-02-29_us-gaap_ServiceMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-06-01to2024-02-29_us-gaap_ServiceMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-06-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-06-01to2023-02-28"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-06-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2022-12-01to2023-02-28"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2022-12-01</xbrli:startDate><xbrli:endDate>2023-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="From2023-12-01to2024-02-29"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-12-01</xbrli:startDate><xbrli:endDate>2024-02-29</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="AsOf2023-05-31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-05-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-02-29"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-02-29</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="AsOf2024-04-01"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001040470</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-04-01</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><xbrli:unit id="Pure"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit></ix:resources></ix:header></div><table style="font-size:1px;width:100%"><tbody><tr><td style="BORDER-BOTTOM: 5px solid;"/></tr><tr><td style="BORDER-BOTTOM: 2px solid;"/></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>UNITED STATES SECURITIES </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>AND EXCHANGE COMMISSION</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Washington, D.C. 20549</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span style="font-size:18pt">FORM <ix:nonNumeric name="dei:DocumentType" contextRef="From2023-06-01to2024-02-29" id="ixv-13651">10-Q</ix:nonNumeric> </span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric name="dei:DocumentQuarterlyReport" contextRef="From2023-06-01to2024-02-29" format="ixt-sec:boolballotbox" id="ixv-13652">&#9746;</ix:nonNumeric></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE</strong>&#160;<strong>ACT OF 1934</strong>&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>For the quarterly period ended&#160;<ix:nonNumeric name="dei:DocumentPeriodEndDate" contextRef="From2023-06-01to2024-02-29" format="ixt:datemonthdayyearen" id="ixv-13653">February 29, 2024</ix:nonNumeric></strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>or</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:4%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric name="dei:DocumentTransitionReport" contextRef="From2023-06-01to2024-02-29" format="ixt-sec:boolballotbox" id="ixv-13654">&#9744;</ix:nonNumeric></p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE</strong>&#160;<strong>ACT OF 1934</strong>&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>For the transition period from&#160;_______________ to ______________&#160;&#160;&#160;</strong></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Commission File Number <ix:nonNumeric name="dei:EntityFileNumber" contextRef="From2023-06-01to2024-02-29" id="ixv-13655">000-22893</ix:nonNumeric></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><table style="border-spacing:0;font-size:10pt;text-align:left;margin-left:auto;margin-right:auto;width:60%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: #000000 1px solid;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span style="font-size:18pt"><ix:nonNumeric name="dei:EntityRegistrantName" contextRef="From2023-06-01to2024-02-29" id="ixv-13656">AEHR TEST SYSTEMS</ix:nonNumeric></span></strong></p></td></tr><tr style="height:15px"><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(Exact name of Registrant as Specified in its Charter)</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;text-align:justify;margin-left:auto;margin-right:auto;width:85%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: #000000 1px solid;width:45%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><ix:nonNumeric name="dei:EntityIncorporationStateCountryCode" contextRef="From2023-06-01to2024-02-29" format="ixt-sec:stateprovnameen" id="ixv-13657">California</ix:nonNumeric></strong>&#160;</p></td><td style="width:10%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: #000000 1px solid;width:45%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><ix:nonNumeric name="dei:EntityTaxIdentificationNumber" contextRef="From2023-06-01to2024-02-29" id="ixv-13658">94-2424084</ix:nonNumeric></strong>&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(State or Other Jurisdiction of Incorporation or Organization)</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(I.R.S. Employer Identification No.)</p></td></tr><tr style="height:15px"><td/><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: #000000 1px solid;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><ix:nonNumeric name="dei:EntityAddressAddressLine1" contextRef="From2023-06-01to2024-02-29" id="ixv-13659">400 Kato Terrace</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressCityOrTown" contextRef="From2023-06-01to2024-02-29" id="ixv-13660">Fremont</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressStateOrProvince" contextRef="From2023-06-01to2024-02-29" id="ixv-13661">CA</ix:nonNumeric></strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: #000000 1px solid;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><ix:nonNumeric name="dei:EntityAddressPostalZipCode" contextRef="From2023-06-01to2024-02-29" id="ixv-13662">94539</ix:nonNumeric></strong>&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(Address of Principal Executive Offices)</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(Zip Code)</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span style="text-decoration:underline">(<ix:nonNumeric name="dei:CityAreaCode" contextRef="From2023-06-01to2024-02-29" id="ixv-13663">510</ix:nonNumeric>) <ix:nonNumeric name="dei:LocalPhoneNumber" contextRef="From2023-06-01to2024-02-29" id="ixv-13664">623-9400</ix:nonNumeric></span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">(Registrant&#8217;s Telephone Number, Including Area Code)</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Securities registered pursuant to Section 12(b) of the Exchange Act:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;border-right:#000000 1px solid;border-bottom:#000000 1px solid;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:33%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Title of each class</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;width:33%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Trading Symbol(s)</p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">Name of each exchange on which registered</p></td></tr><tr style="height:15px"><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric name="dei:Security12bTitle" contextRef="From2023-06-01to2024-02-29" id="ixv-13665">Common Stock par value of $0.01 per share</ix:nonNumeric></p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><ix:nonNumeric name="dei:TradingSymbol" contextRef="From2023-06-01to2024-02-29" id="ixv-13666">AEHR</ix:nonNumeric></p></td><td style="BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">The <ix:nonNumeric name="dei:SecurityExchangeName" contextRef="From2023-06-01to2024-02-29" format="ixt-sec:exchnameen" id="ixv-13667">NASDAQ</ix:nonNumeric> Capital Market</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.&#160;<ix:nonNumeric name="dei:EntityCurrentReportingStatus" contextRef="From2023-06-01to2024-02-29" id="ixv-13668">Yes</ix:nonNumeric>&#160;&#9746; No &#9744;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted 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&#160;such files). <ix:nonNumeric name="dei:EntityInteractiveDataCurrent" contextRef="From2023-06-01to2024-02-29" id="ixv-13669">Yes</ix:nonNumeric>&#160;&#9746; No &#9744;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer,&#160;a smaller reporting company, or an emerging growth company. See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company&#8221; and&#160;&#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;text-align:justify;margin-left:auto;margin-right:auto;width:85%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:30%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Large accelerated filer</p></td><td style="width:20%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#9744;</p></td><td style="width:30%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Accelerated filer&#160;</p></td><td style="width:20%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#9744;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric name="dei:EntityFilerCategory" contextRef="From2023-06-01to2024-02-29" format="ixt-sec:entityfilercategoryen" id="ixv-13670">Non-accelerated filer</ix:nonNumeric></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#9746;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Smaller reporting company&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric name="dei:EntitySmallBusiness" contextRef="From2023-06-01to2024-02-29" format="ixt-sec:boolballotbox" id="ixv-13671">&#9746;</ix:nonNumeric></p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Emerging growth company&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><ix:nonNumeric name="dei:EntityEmergingGrowthCompany" contextRef="From2023-06-01to2024-02-29" format="ixt-sec:boolballotbox" id="ixv-13672">&#9744;</ix:nonNumeric></p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">If an emerging growth company, indicated by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. &#9744;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act). Yes <ix:nonNumeric name="dei:EntityShellCompany" contextRef="From2023-06-01to2024-02-29" format="ixt-sec:boolballotbox" id="ixv-13673">&#9744;</ix:nonNumeric> No &#9746;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">There were <ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="AsOf2024-04-01" format="ixt:numdotdecimal" unitRef="Shares" decimals="INF" id="ixv-13674">28,914,729</ix:nonFraction> shares of the Registrant&#8217;s Common Stock outstanding as of&#160;April 1, 2024.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="font-size:1px;width:100%"><tbody><tr><td style="BORDER-BOTTOM: 2px solid;"/></tr><tr><td style="BORDER-BOTTOM: 5px solid;"/></tr></tbody></table><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="TEXT-INDENT: 0px;"/></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td/></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><span class="atag" style="display: inline" id="toc"><strong>TABLE OF CONTENTS</strong></span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:8%;vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Page</strong></p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#p1"><strong>PART I&#160;&#160;FINANCIAL INFORMATION</strong>&#160;</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#i1">Item 1. Condensed Consolidated Financial Statements (Unaudited)</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">&#160;3</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#i2">Item 2. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">19</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#i3">Item 3. Quantitative and Qualitative Disclosures About Market Risk</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">24</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#i4">Item 4. Controls and Procedures</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">24</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#p2"><strong>PART II&#160;&#160;OTHER INFORMATION</strong>&#160;</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#i1n">Item 1. Legal Proceedings</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">25</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#i1a">Item 1A. Risk Factors</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">25</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#i2n">Item 2. Unregistered Sales of Equity Securities and Use of Proceeds</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">25</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#i3n">Item 3. Defaults Upon Senior Securities</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">25</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#i4n">Item 4. Mine Safety Disclosures</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">25</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#i5n">Item 5. Other Information</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">25</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#i6">Item 6. Exhibits</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">26</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="#sin"><strong>SIGNATURES</strong>&#160;</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">27</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">2</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="p1">PART&#160;I&#160;&#8212; FINANCIAL INFORMATION</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="i1">Item 1. Financial Statements</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td colspan="9" style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>AEHR TEST SYSTEMS</strong></p></td></tr><tr style="height:15px"><td colspan="9" style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS</strong></p></td></tr><tr style="height:15px"><td colspan="9" style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>(Unaudited)</strong></p></td></tr><tr style="height:15px"><td colspan="9"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>May 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands, except par value)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>ASSETS</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Current assets:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Cash and cash equivalents</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_4" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">47,581</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_5" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">30,054</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Short-term investments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_6" name="us-gaap:ShortTermInvestments" contextRef="AsOf2024-02-29" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_7" name="us-gaap:ShortTermInvestments" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17,853</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Accounts receivable, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_8" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,468</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_9" name="us-gaap:AccountsReceivableNet" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">16,594</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Inventories</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_10" name="us-gaap:InventoryNet" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">38,085</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_11" name="us-gaap:InventoryNet" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">23,908</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Prepaid expenses and other current assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_12" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,215</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_13" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">621</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Total current assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_14" name="us-gaap:AssetsCurrent" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">92,349</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_15" name="us-gaap:AssetsCurrent" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">89,030</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Property and equipment, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_16" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,150</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_17" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,759</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Operating lease right-of-use assets, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_18" name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,863</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_19" name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">6,123</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Other non-current assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_20" name="us-gaap:OtherAssetsNoncurrent" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">234</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_21" name="us-gaap:OtherAssetsNoncurrent" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">231</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Total assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_22" name="us-gaap:Assets" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">101,596</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_23" name="us-gaap:Assets" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">98,143</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>LIABILITIES AND SHAREHOLDERS&#8217; EQUITY</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Current liabilities:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Accounts payable</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_26" name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,979</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_27" name="us-gaap:AccountsPayableCurrent" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,206</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Accrued expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_28" name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,287</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_29" name="us-gaap:AccruedLiabilitiesCurrent" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,143</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Operating lease liabilities, short-term</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_30" name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">428</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_31" name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">137</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Deferred revenue, short-term</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_32" name="us-gaap:DeferredRevenueCurrent" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">486</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_33" name="us-gaap:DeferredRevenueCurrent" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,822</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Total current liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_34" name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,180</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_35" name="us-gaap:LiabilitiesCurrent" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">16,308</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Operating lease liabilities, long-term</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_36" name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,878</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_37" name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">6,163</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Deferred revenue, long-term</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_38" name="us-gaap:DeferredRevenueNoncurrent" contextRef="AsOf2024-02-29" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_39" name="us-gaap:DeferredRevenueNoncurrent" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">31</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Other long-term liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_40" name="us-gaap:OtherLiabilities" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">41</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_41" name="us-gaap:OtherLiabilities" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">41</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Total liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_42" name="us-gaap:Liabilities" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">15,099</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_43" name="us-gaap:Liabilities" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">22,543</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Commitments and contingencies (Note 6)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Shareholders&#8217; equity:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Preferred stock, $<ix:nonFraction id="fid_228" name="us-gaap:PreferredStockNoParValue" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">0.01</ix:nonFraction> par value: Authorized: <ix:nonFraction id="fid_230" name="us-gaap:PreferredStockSharesAuthorized" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">10,000</ix:nonFraction> shares;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 30px">Issued and outstanding: none</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_46" name="us-gaap:PreferredStockValue" contextRef="AsOf2024-02-29" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_47" name="us-gaap:PreferredStockValue" contextRef="AsOf2023-05-31" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Common stock, $<ix:nonFraction id="fid_236" name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">0.01</ix:nonFraction> par value: Authorized: <ix:nonFraction id="fid_238" name="us-gaap:CommonStockSharesAuthorized" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">75,000</ix:nonFraction> shares;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 30px">Issued and outstanding: <ix:nonFraction id="fid_240" name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">28,906</ix:nonFraction> shares and <ix:nonFraction id="fid_239" name="us-gaap:CommonStockSharesIssued" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">28,539</ix:nonFraction> shares at February 29, 2024 and May 31, 2023, respectively</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_48" name="us-gaap:CommonStockValue" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">289</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_49" name="us-gaap:CommonStockValue" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">285</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Additional paid-in-capital</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_50" name="us-gaap:AdditionalPaidInCapital" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">129,366</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_51" name="us-gaap:AdditionalPaidInCapital" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">127,776</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Accumulated other comprehensive loss</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_52" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">144</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_53" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">155</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Accumulated deficit</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_54" name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">43,014</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_55" name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">52,306</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Total shareholders' equity</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_56" name="us-gaap:StockholdersEquity" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">86,497</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_57" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">75,600</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Total liabilities and shareholders&#8217; equity</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_58" name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">101,596</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_59" name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">98,143</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;The Condensed Consolidated Balance Sheet as of May 31, 2023 has been derived from the audited consolidated financial statements at that date.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">See accompanying Notes to Condensed Consolidated Financial Statements (unaudited)</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">3</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td colspan="17" style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>AEHR TEST SYSTEMS</strong></p></td></tr><tr style="height:15px"><td colspan="17" style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS</strong></p></td></tr><tr style="height:15px"><td colspan="17" style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>(Unaudited)</strong></p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands, except per share data)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Revenue:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Product</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_551" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-12-01to2024-02-29_us-gaap_ProductMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">6,730</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_552" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-12-01to2023-02-28_us-gaap_ProductMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">16,120</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_553" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-06-01to2024-02-29_us-gaap_ProductMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">45,924</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_554" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-06-01to2023-02-28_us-gaap_ProductMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">39,715</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Services</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_543" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-12-01to2024-02-29_us-gaap_ServiceMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">833</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_624" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-12-01to2023-02-28_us-gaap_ServiceMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,086</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_623" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-06-01to2024-02-29_us-gaap_ServiceMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,694</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_625" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-06-01to2023-02-28_us-gaap_ServiceMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,977</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total revenue</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_630" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7,563</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_632" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17,206</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_631" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">49,618</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_633" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">42,692</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Cost of revenue:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Product</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_560" name="us-gaap:CostOfRevenue" contextRef="From2023-12-01to2024-02-29_us-gaap_ProductMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,948</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_561" name="us-gaap:CostOfRevenue" contextRef="From2022-12-01to2023-02-28_us-gaap_ProductMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7,728</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_562" name="us-gaap:CostOfRevenue" contextRef="From2023-06-01to2024-02-29_us-gaap_ProductMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">23,574</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_563" name="us-gaap:CostOfRevenue" contextRef="From2022-06-01to2023-02-28_us-gaap_ProductMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">19,739</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Services</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_626" name="us-gaap:CostOfRevenue" contextRef="From2023-12-01to2024-02-29_us-gaap_ServiceMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">459</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_628" name="us-gaap:CostOfRevenue" contextRef="From2022-12-01to2023-02-28_us-gaap_ServiceMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">603</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_627" name="us-gaap:CostOfRevenue" contextRef="From2023-06-01to2024-02-29_us-gaap_ServiceMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,949</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_629" name="us-gaap:CostOfRevenue" contextRef="From2022-06-01to2023-02-28_us-gaap_ServiceMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,686</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total cost of revenue</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_634" name="us-gaap:CostOfRevenue" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,407</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_636" name="us-gaap:CostOfRevenue" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">8,331</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_635" name="us-gaap:CostOfRevenue" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">25,523</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_637" name="us-gaap:CostOfRevenue" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">21,425</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Gross profit</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_639" name="us-gaap:GrossProfit" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,156</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_640" name="us-gaap:GrossProfit" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">8,875</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_638" name="us-gaap:GrossProfit" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">24,095</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_641" name="us-gaap:GrossProfit" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">21,267</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Operating expenses:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Research and development</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_569" name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,139</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_570" name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,832</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_571" name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">6,568</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_572" name="us-gaap:ResearchAndDevelopmentExpense" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,881</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Selling, general and administrative</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_573" name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,063</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_574" name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,250</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_575" name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,990</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_576" name="us-gaap:SellingGeneralAndAdministrativeExpense" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">8,650</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 30px">Total operating expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_577" name="us-gaap:OperatingExpenses" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,202</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_578" name="us-gaap:OperatingExpenses" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,082</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_579" name="us-gaap:OperatingExpenses" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">16,558</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_580" name="us-gaap:OperatingExpenses" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">13,531</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 30px">Income (loss) from operations</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_581" name="us-gaap:OperatingIncomeLoss" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">2,046</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_582" name="us-gaap:OperatingIncomeLoss" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,793</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_583" name="us-gaap:OperatingIncomeLoss" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7,537</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_584" name="us-gaap:OperatingIncomeLoss" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7,736</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Interest income, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_585" name="us-gaap:InterestIncomeExpenseNet" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">584</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_586" name="us-gaap:InterestIncomeExpenseNet" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">374</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_587" name="us-gaap:InterestIncomeExpenseNet" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,796</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_588" name="us-gaap:InterestIncomeExpenseNet" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">758</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Other income (expense), net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_589" name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">2</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_590" name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">18</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_591" name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_592" name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 30px">Income (loss) before provision for income taxes</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_593" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">1,464</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_594" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,149</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_595" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,335</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_596" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">8,495</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Provision for income taxes</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_597" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_598" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_599" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">43</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_600" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">49</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 30px">Net income (loss)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_601" name="us-gaap:NetIncomeLoss" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">1,471</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_602" name="us-gaap:NetIncomeLoss" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,132</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_603" name="us-gaap:NetIncomeLoss" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,292</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_604" name="us-gaap:NetIncomeLoss" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">8,446</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Net income (loss) per share:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 30px">Basic</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_606" name="us-gaap:EarningsPerShareBasic" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF" sign="-">0.05</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_607" name="us-gaap:EarningsPerShareBasic" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">0.15</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_608" name="us-gaap:EarningsPerShareBasic" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">0.32</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_609" name="us-gaap:EarningsPerShareBasic" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">0.31</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 30px">Diluted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_610" name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF" sign="-">0.05</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_611" name="us-gaap:EarningsPerShareDiluted" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">0.14</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_612" name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">0.31</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_613" name="us-gaap:EarningsPerShareDiluted" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">0.29</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Shares used in per share calculations:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 30px">Basic</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_615" name="us-gaap:WeightedAverageNumberOfSharesIssuedBasic" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">28,866</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_616" name="us-gaap:WeightedAverageNumberOfSharesIssuedBasic" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">27,893</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_617" name="us-gaap:WeightedAverageNumberOfSharesIssuedBasic" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">28,773</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_618" name="us-gaap:WeightedAverageNumberOfSharesIssuedBasic" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">27,571</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 30px">Diluted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_619" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">28,866</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_620" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">29,373</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_621" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">29,670</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_622" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">29,080</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">See accompanying&#160;Notes to Condensed Consolidated Financial Statements (unaudited)</p><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">4</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td colspan="17" style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>AEHR TEST SYSTEMS</strong></p></td></tr><tr style="height:15px"><td colspan="17" style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</strong></p></td></tr><tr style="height:15px"><td colspan="17" style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>(Unaudited)</strong></p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Net income (loss)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_149" name="us-gaap:NetIncomeLoss" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">1,471</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_150" name="us-gaap:NetIncomeLoss" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,132</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_151" name="us-gaap:NetIncomeLoss" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,292</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_152" name="us-gaap:NetIncomeLoss" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">8,446</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Other comprehensive income (loss), net of tax:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Net change in cumulative translation adjustment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_154" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">10</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_155" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_156" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">6</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_157" name="us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">35</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Net change in unrealized gain (loss) on investments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_158" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" contextRef="From2023-12-01to2024-02-29" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_159" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">16</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_160" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_161" name="us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">22</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Comprehensive income (loss)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_912" name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,481</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_914" name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">4,125</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_913" name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">9,303</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_915" name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">8,389</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">See accompanying&#160;Notes to Condensed Consolidated Financial Statements (unaudited)</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">5</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td colspan="25" style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>AEHR TEST SYSTEMS</strong></p></td></tr><tr style="height:15px"><td colspan="25" style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY</strong></p></td></tr><tr style="height:15px"><td colspan="25" style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>(Unaudited)</strong></p></td></tr><tr style="height:15px"><td colspan="25"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Accumulated </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Additional</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Other</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Total</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: #000000 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Common Stock</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Paid-in</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Comprehensive</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Accumulated</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Shareholders'</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Shares</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Amount</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Capital</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Income (loss)</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Deficit</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Equity</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>Three Months Ended February 29, 2024</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Balances, November 30, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_642" name="us-gaap:SharesIssued" contextRef="AsOf2023-11-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">28,826</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_643" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-11-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">288</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_644" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-11-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">128,543</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_645" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-11-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">134</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_646" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-11-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">41,543</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_647" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-11-30" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">87,154</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Issuance of common stock under employee plans</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_648" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" contextRef="From2023-12-01to2024-02-29_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">81</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_649" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2023-12-01to2024-02-29_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_650" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2023-12-01to2024-02-29_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">177</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_651" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2023-12-01to2024-02-29_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_652" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2023-12-01to2024-02-29_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_653" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">178</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Shares repurchased for tax withholdings on vesting of restricted stock units</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_654" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" contextRef="From2023-12-01to2024-02-29_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">1</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_655" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="From2023-12-01to2024-02-29_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_656" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="From2023-12-01to2024-02-29_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">20</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_657" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="From2023-12-01to2024-02-29_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_658" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="From2023-12-01to2024-02-29_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_659" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">20</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Stock-based compensation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_660" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-12-01to2024-02-29_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_661" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-12-01to2024-02-29_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">666</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_662" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-12-01to2024-02-29_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_663" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-12-01to2024-02-29_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_664" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">666</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Net loss</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_665" name="us-gaap:NetIncomeLoss" contextRef="From2023-12-01to2024-02-29_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_666" name="us-gaap:NetIncomeLoss" contextRef="From2023-12-01to2024-02-29_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_667" name="us-gaap:NetIncomeLoss" contextRef="From2023-12-01to2024-02-29_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_668" name="us-gaap:NetIncomeLoss" contextRef="From2023-12-01to2024-02-29_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">1,471</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_669" name="us-gaap:NetIncomeLoss" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">1,471</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Foreign currency translation adjustment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_670" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2023-12-01to2024-02-29_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_671" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2023-12-01to2024-02-29_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_672" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2023-12-01to2024-02-29_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">10</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_673" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2023-12-01to2024-02-29_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_674" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">10</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Balances, February 29, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_675" name="us-gaap:SharesIssued" contextRef="AsOf2024-02-29_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">28,906</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_676" name="us-gaap:StockholdersEquity" contextRef="AsOf2024-02-29_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">289</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_677" name="us-gaap:StockholdersEquity" contextRef="AsOf2024-02-29_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">129,366</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_678" name="us-gaap:StockholdersEquity" contextRef="AsOf2024-02-29_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">144</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_679" name="us-gaap:StockholdersEquity" contextRef="AsOf2024-02-29_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">43,014</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_680" name="us-gaap:StockholdersEquity" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">86,497</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Accumulated </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Additional</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Other</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Total</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: #000000 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Common Stock</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Paid-in</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Comprehensive</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Accumulated</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Shareholders'</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Shares</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Amount</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Capital</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Income (loss)</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Deficit</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Equity</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>Nine Months Ended February 29, 2024</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Balances, May 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_725" name="us-gaap:SharesIssued" contextRef="AsOf2023-05-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">28,539</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_726" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-05-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">285</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_727" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-05-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">127,776</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_728" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-05-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">155</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_729" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-05-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">52,306</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_730" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">75,600</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Issuance of common stock under employee plans</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_731" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" contextRef="From2023-06-01to2024-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">402</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_732" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2023-06-01to2024-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_733" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2023-06-01to2024-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,266</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_734" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2023-06-01to2024-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_735" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2023-06-01to2024-02-28_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_736" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2023-06-01to2024-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,270</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Issuance cost of common stock offering</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_737" name="aehr:IssuanceCostOfCommonStockOffering" contextRef="From2023-06-01to2024-02-28_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_738" name="aehr:IssuanceCostOfCommonStockOffering" contextRef="From2023-06-01to2024-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">72</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_739" name="aehr:IssuanceCostOfCommonStockOffering" contextRef="From2023-06-01to2024-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_740" name="aehr:IssuanceCostOfCommonStockOffering" contextRef="From2023-06-01to2024-02-28_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_741" name="aehr:IssuanceCostOfCommonStockOffering" contextRef="From2023-06-01to2024-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">72</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Shares repurchased for tax withholdings on vesting of restricted stock units</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_742" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" contextRef="From2023-06-01to2024-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">35</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_743" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="From2023-06-01to2024-02-28_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_744" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="From2023-06-01to2024-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,480</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_745" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="From2023-06-01to2024-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_746" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="From2023-06-01to2024-02-28_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_747" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="From2023-06-01to2024-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,480</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Stock-based compensation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_748" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-06-01to2024-02-28_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_749" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-06-01to2024-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,876</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_750" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-06-01to2024-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_751" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-06-01to2024-02-28_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_752" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2023-06-01to2024-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,876</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Net income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_753" name="us-gaap:NetIncomeLoss" contextRef="From2023-06-01to2024-02-28_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_754" name="us-gaap:NetIncomeLoss" contextRef="From2023-06-01to2024-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_755" name="us-gaap:NetIncomeLoss" contextRef="From2023-06-01to2024-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_756" name="us-gaap:NetIncomeLoss" contextRef="From2023-06-01to2024-02-28_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,292</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_757" name="us-gaap:NetIncomeLoss" contextRef="From2023-06-01to2024-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,292</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Foreign currency translation adjustment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_758" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2023-06-01to2024-02-28_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_759" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2023-06-01to2024-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_760" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2023-06-01to2024-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">6</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_761" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2023-06-01to2024-02-28_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_762" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2023-06-01to2024-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">6</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Net unrealized gains on investments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_763" name="us-gaap:UnrealizedGainLossOnInvestments" contextRef="From2023-06-01to2024-02-28_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_764" name="us-gaap:UnrealizedGainLossOnInvestments" contextRef="From2023-06-01to2024-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_765" name="us-gaap:UnrealizedGainLossOnInvestments" contextRef="From2023-06-01to2024-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_766" name="us-gaap:UnrealizedGainLossOnInvestments" contextRef="From2023-06-01to2024-02-28_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_767" name="us-gaap:UnrealizedGainLossOnInvestments" contextRef="From2023-06-01to2024-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Balances, February 29, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_768" name="us-gaap:SharesIssued" contextRef="AsOf2024-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">28,906</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_769" name="us-gaap:StockholdersEquity" contextRef="AsOf2024-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">289</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_770" name="us-gaap:StockholdersEquity" contextRef="AsOf2024-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">129,366</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_771" name="us-gaap:StockholdersEquity" contextRef="AsOf2024-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">144</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_772" name="us-gaap:StockholdersEquity" contextRef="AsOf2024-02-28_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">43,014</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_773" name="us-gaap:StockholdersEquity" contextRef="AsOf2024-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">86,497</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">See accompanying&#160;Notes to Condensed Consolidated Financial Statements (unaudited)</p><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">6</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td colspan="25" style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>AEHR TEST SYSTEMS</strong></p></td></tr><tr style="height:15px"><td colspan="25" style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY</strong></p></td></tr><tr style="height:15px"><td colspan="25" style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>(Unaudited)</strong></p></td></tr><tr style="height:15px"><td colspan="25"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Accumulated </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Additional</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Other</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Total</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: #000000 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Common Stock</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Paid-in</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Comprehensive</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Accumulated</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Shareholders'</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Shares</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Amount</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Capital</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Income (loss)</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Deficit</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Equity</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>Three Months Ended February 28, 2023</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Balances, November 30, 2022</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_681" name="us-gaap:SharesIssued" contextRef="AsOf2022-11-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">27,732</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_682" name="us-gaap:StockholdersEquity" contextRef="AsOf2022-11-30_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">277</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_683" name="us-gaap:StockholdersEquity" contextRef="AsOf2022-11-30_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">119,094</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_684" name="us-gaap:StockholdersEquity" contextRef="AsOf2022-11-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">155</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_685" name="us-gaap:StockholdersEquity" contextRef="AsOf2022-11-30_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">62,549</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_686" name="us-gaap:StockholdersEquity" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">56,667</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Issuance of common stock under employee plans</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_687" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" contextRef="From2022-12-01to2023-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">395</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_688" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2022-12-01to2023-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_689" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2022-12-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">849</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_690" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2022-12-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_691" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2022-12-01to2023-02-28_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_692" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">853</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Shares repurchased for tax withholdings on vesting of restricted stock units</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_693" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" contextRef="From2022-12-01to2023-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">16</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_694" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="From2022-12-01to2023-02-28_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_695" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="From2022-12-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">464</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_696" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="From2022-12-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_697" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="From2022-12-01to2023-02-28_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_698" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">464</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Proceeds from public offering, net of issuance costs</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_879" name="aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsAmount" contextRef="From2022-12-01to2023-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">209</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_873" name="aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsShares" contextRef="From2022-12-01to2023-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">2</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_887" name="aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsShares" contextRef="From2022-12-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">6,851</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_890" name="aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsShares" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">6,853</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Stock-based compensation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_699" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-12-01to2023-02-28_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_700" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-12-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">600</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_701" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-12-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_703" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">600</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Net income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_704" name="us-gaap:NetIncomeLoss" contextRef="From2022-12-01to2023-02-28_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_705" name="us-gaap:NetIncomeLoss" contextRef="From2022-12-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_706" name="us-gaap:NetIncomeLoss" contextRef="From2022-12-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_707" name="us-gaap:NetIncomeLoss" contextRef="From2022-12-01to2023-02-28_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,132</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_708" name="us-gaap:NetIncomeLoss" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,132</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Net unrealized loss on investments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_714" name="us-gaap:UnrealizedGainLossOnInvestments" contextRef="From2022-12-01to2023-02-28_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_715" name="us-gaap:UnrealizedGainLossOnInvestments" contextRef="From2022-12-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_716" name="us-gaap:UnrealizedGainLossOnInvestments" contextRef="From2022-12-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">16</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_717" name="us-gaap:UnrealizedGainLossOnInvestments" contextRef="From2022-12-01to2023-02-28_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_718" name="us-gaap:UnrealizedGainLossOnInvestments" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">16</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Foreign currency translation adjustment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_709" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2022-12-01to2023-02-28_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_710" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2022-12-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_711" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2022-12-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_712" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2022-12-01to2023-02-28_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_713" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Balances, February 28, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_719" name="us-gaap:SharesIssued" contextRef="AsOf2023-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">28,320</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_720" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">283</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_721" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">126,930</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_722" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">162</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_723" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-02-28_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">58,417</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_724" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">68,634</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160; </p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Accumulated </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Additional</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Other</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Total</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: #000000 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Common Stock</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Paid-in</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Comprehensive</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Accumulated</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Shareholders'</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Shares</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Amount</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Capital</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Income (loss)</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Deficit</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Equity</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Nine Months Ended February 28, 2023</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balances, May 31, 2022</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_774" name="us-gaap:SharesIssued" contextRef="AsOf2022-05-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">27,120</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_775" name="us-gaap:StockholdersEquity" contextRef="AsOf2022-05-31_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">271</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_776" name="us-gaap:StockholdersEquity" contextRef="AsOf2022-05-31_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">117,686</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_777" name="us-gaap:StockholdersEquity" contextRef="AsOf2022-05-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">105</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_778" name="us-gaap:StockholdersEquity" contextRef="AsOf2022-05-31_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">66,863</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_779" name="us-gaap:StockholdersEquity" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">50,989</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Issuance of common stock under employee plans</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_780" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" contextRef="From2022-06-01to2023-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">1,156</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_781" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2022-06-01to2023-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">11</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_782" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2022-06-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,954</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_783" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2022-06-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_784" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2022-06-01to2023-02-28_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_785" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,965</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Shares repurchased for tax withholdings on vesting of restricted stock units</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_786" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" contextRef="From2022-06-01to2023-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">165</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_787" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="From2022-06-01to2023-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_788" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="From2022-06-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,679</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_789" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="From2022-06-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_790" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="From2022-06-01to2023-02-28_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_791" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,680</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Proceeds from public offering, net of issuance costs</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_871" name="aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsShares" contextRef="From2022-06-01to2023-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">209</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_877" name="aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsAmount" contextRef="From2022-06-01to2023-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">2</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_883" name="aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsAmount" contextRef="From2022-06-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="0">6,851</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_884" name="aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsAmount" contextRef="From2022-06-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="0">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_885" name="aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsAmount" contextRef="From2022-06-01to2023-02-28_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="0">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_886" name="aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsAmount" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="0">6,853</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Stock-based compensation</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_792" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-06-01to2023-02-28_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_793" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-06-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,118</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_794" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-06-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_795" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-06-01to2023-02-28_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_796" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,118</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Net income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_797" name="us-gaap:NetIncomeLoss" contextRef="From2022-06-01to2023-02-28_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_798" name="us-gaap:NetIncomeLoss" contextRef="From2022-06-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_799" name="us-gaap:NetIncomeLoss" contextRef="From2022-06-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_800" name="us-gaap:NetIncomeLoss" contextRef="From2022-06-01to2023-02-28_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">8,446</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_801" name="us-gaap:NetIncomeLoss" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">8,446</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Net unrealized loss on investments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_807" name="us-gaap:UnrealizedGainLossOnInvestments" contextRef="From2022-06-01to2023-02-28_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_808" name="us-gaap:UnrealizedGainLossOnInvestments" contextRef="From2022-06-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_809" name="us-gaap:UnrealizedGainLossOnInvestments" contextRef="From2022-06-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">22</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_810" name="us-gaap:UnrealizedGainLossOnInvestments" contextRef="From2022-06-01to2023-02-28_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_811" name="us-gaap:UnrealizedGainLossOnInvestments" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">22</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Foreign currency translation adjustment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_802" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2022-06-01to2023-02-28_us-gaap_CommonStockMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_803" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2022-06-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_804" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2022-06-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">35</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_805" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2022-06-01to2023-02-28_us-gaap_RetainedEarningsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_806" name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">35</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Balances, February 28, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_812" name="us-gaap:SharesIssued" contextRef="AsOf2023-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">28,320</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_813" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-02-28_us-gaap_CommonStockMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">283</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_814" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-02-28_us-gaap_AdditionalPaidInCapitalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">126,930</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_815" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">162</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_816" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-02-28_us-gaap_RetainedEarningsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">58,417</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_817" name="us-gaap:StockholdersEquity" contextRef="AsOf2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">68,634</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">See accompanying&#160;Notes to Condensed Consolidated Financial Statements (unaudited)&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">7</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td colspan="9" style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>AEHR TEST SYSTEMS</strong></p></td></tr><tr style="height:15px"><td colspan="9" style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Condensed Consolidated Statements of Cash Flows</strong></p></td></tr><tr style="height:15px"><td colspan="9" style="vertical-align:top;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>(Unaudited)</strong></p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>Cash flows from operating activities:</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Net income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_169" name="us-gaap:ProfitLoss" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,292</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_170" name="us-gaap:ProfitLoss" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">8,446</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Adjustments to reconcile net income to net cash provided by operating activities:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Stock-based compensation expense</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_172" name="us-gaap:ShareBasedCompensation" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,744</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_173" name="us-gaap:ShareBasedCompensation" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,095</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Depreciation and amortization</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_174" name="us-gaap:DepreciationAndAmortization" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">469</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_175" name="us-gaap:DepreciationAndAmortization" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">337</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Accretion of investment discount</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_176" name="us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">130</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_177" name="us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">305</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Amortization of operating lease right-of-use assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_178" name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">522</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_179" name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">479</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Provision for doubtful accounts</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_180" name="us-gaap:ProvisionForDoubtfulAccounts" contextRef="From2023-06-01to2024-02-29" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_181" name="us-gaap:ProvisionForDoubtfulAccounts" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">24</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px;text-indent:0px">Changes in operating assets and liabilities:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Accounts receivable</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_183" name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">11,130</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_184" name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,414</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Inventories</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_185" name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">14,182</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_186" name="us-gaap:IncreaseDecreaseInInventories" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">6,783</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Prepaid expenses and other current assets</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_187" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">600</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_188" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">167</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Accounts payable</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_189" name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">4,232</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_190" name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">822</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Accrued expenses</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_191" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">874</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_192" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">126</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Deferred revenue</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_193" name="us-gaap:IncreaseDecreaseInDeferredRevenue" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">2,368</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_194" name="us-gaap:IncreaseDecreaseInDeferredRevenue" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">1,633</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Operating lease liabilities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_195" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">257</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_196" name="us-gaap:IncreaseDecreaseInOperatingLeaseLiability" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">469</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Income taxes payable</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_197" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">18</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_198" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>Net cash provided by operating activities</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_199" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">532</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_200" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,143</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>Cash flows from investing activities:</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Purchases of property and equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_202" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">703</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_203" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">178</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Proceeds from maturities of investments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_204" name="us-gaap:ProceedsFromSaleAndMaturityOfOtherInvestments" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">18,000</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_205" name="us-gaap:ProceedsFromSaleAndMaturityOfOtherInvestments" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">8,000</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Purchases of investments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_206" name="us-gaap:PaymentsToAcquireInvestments" contextRef="From2023-06-01to2024-02-29" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_207" name="us-gaap:PaymentsToAcquireInvestments" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">33,294</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>Net cash provided by (used in) investing activities</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_208" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17,297</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_209" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">25,472</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>Cash flows from financing activities:</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Proceeds from issuance of common stock under employee plans</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_211" name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,270</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_212" name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,965</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Shares repurchased for tax withholdings on vesting of restricted stock units</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_213" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,480</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_214" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,680</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 15px">Proceeds from issuance of common stock from public offering, net of issuance costs</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_215" name="us-gaap:ProceedsFromIssuanceInitialPublicOffering" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">72</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_216" name="us-gaap:ProceedsFromIssuanceInitialPublicOffering" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">6,853</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>Net cash provided by (used in) financing activities</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_217" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">282</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_218" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7,138</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Effect of exchange rate changes on cash, cash equivalents and restricted cash</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_219" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">20</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_220" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">35</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>Net increase (decrease) in cash, cash equivalents and restricted cash</strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_221" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17,527</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_222" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">14,226</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>Cash, cash equivalents and restricted cash, beginning of period <sup style="vertical-align:super">(1)</sup></strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_223" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">30,204</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_224" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">31,564</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>Cash, cash equivalents and restricted cash, end of period <sup style="vertical-align:super">(1)</sup></strong></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_225" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">47,731</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_226" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17,338</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">(1) Includes restricted cash in other assets.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:left;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;">See accompanying Notes to Condensed Consolidated Financial Statements (unaudited)</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">8</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>AEHR TEST SYSTEMS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>(Unaudited)</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_818" name="us-gaap:BusinessDescriptionAndAccountingPoliciesTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true" continuedAt="cont_d6e668"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>1. ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_830" name="us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Organization</em> &#8211; Aehr Test Systems (the &#8220;Company&#8221;) was incorporated in California in May 1977 and develops and manufactures test and burn-in equipment used in the semiconductor industry. The Company&#8217;s principal products are the FOX-XP, FOX-NP, and FOX-CP wafer contact and singulated die/module parallel test and burn-in systems, the WaferPak full wafer contactor, the DiePak carrier, the WaferPak aligner, the DiePak autoloader, and test fixtures.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_831" name="us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Basis of Presentation</em><strong> &#8211; </strong>The unaudited Condensed Consolidated Financial Statements included in this quarterly report on Form 10-Q include the accounts of the Company and its wholly-owned subsidiaries and have been prepared in accordance with U.S. generally accepted accounting principles (&#8220;GAAP&#8221;) for interim financial reporting and the rules and regulations of the Securities and Exchange Commission (the &#8220;SEC&#8221;) for interim reporting. Accordingly, the unaudited Condensed Consolidated Financial Statements do not include certain information and footnote disclosures normally included in the annual consolidated financial statements. In the opinion of management, the unaudited Condensed Consolidated Financial Statements for the interim periods presented have been prepared on a basis consistent with the May 31, 2023 audited Consolidated Financial Statements and reflect all adjustments, consisting of normal recurring adjustments, necessary for a fair presentation of the condensed consolidated financial position and results of operations as of and for such periods indicated. These unaudited Condensed Consolidated Financial Statements should be read in conjunction with the Consolidated Financial Statements contained in the Company's Annual Report on Form 10-K for the year ended May 31, 2023. </p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_832" name="us-gaap:ConsolidationPolicyTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><em>Principles of Consolidation</em><strong> &#8211; </strong>The Company&#8217;s Condensed Consolidated Financial Statements include the accounts of the Company and its wholly-owned subsidiaries and all significant intercompany accounts and transactions have been eliminated upon consolidation. </p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_833" name="us-gaap:UseOfEstimates" contextRef="From2023-06-01to2024-02-29" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Critical Accounting Policies and use of Estimates<strong>&#160;</strong></em>&#8211; The Company&#8217;s significant accounting policies are disclosed in the Company&#8217;s Annual Report on Form 10-K for the year ended May 31, 2023. There have been no significant changes in the Company&#8217;s significant accounting policies during the three and nine months ended February 29, 2024. The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Significant estimates in these Condensed Consolidated Financial Statements include valuation of inventory at the lower of cost or net realizable value and warranty reserves. Actual results could differ from those estimates.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_834" name="us-gaap:Reclassifications" contextRef="From2023-06-01to2024-02-29" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Reclassifications - </em>Certain reclassifications have been made to the prior period Condensed Consolidated Financial Statements to conform to the current period presentation. The reclassifications had no impact on net income, total assets, total liabilities, or shareholders&#8217; equity.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_835" name="us-gaap:ConcentrationRiskCreditRisk" contextRef="From2023-06-01to2024-02-29" escape="true" continuedAt="cont_c1b6d4"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><em>Concentration of Credit Risk</em> &#8211; Financial instruments which subject the Company to concentrations of credit risk consist principally of cash and cash equivalents and accounts receivable. The Company performs credit evaluations of its customers&#8217; financial condition and generally requires no collateral. The Company had revenues from individual customers in excess of 10% of total revenues as follows:&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_838" name="aehr:ScheduleOfFinancialInstrumentsTextblock" contextRef="From2023-06-01to2024-02-29" escape="true" continuedAt="cont_9a6077"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer A</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_891" name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-12-01to2024-02-29_aehr_RevenuesMember_aehr_CustomerAMember" unitRef="Pure" decimals="INF" scale="-2">59.6</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_893" name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-12-01to2023-02-28_aehr_RevenuesMember_aehr_CustomerAMember" unitRef="Pure" decimals="INF" scale="-2">82.5</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_859" name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-06-01to2024-02-29_aehr_RevenuesMember_aehr_CustomerAMember" unitRef="Pure" decimals="INF" scale="-2">65.8</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_895" name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-06-01to2023-02-28_aehr_RevenuesMember_aehr_CustomerAMember" unitRef="Pure" decimals="INF" scale="-2">77.5</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer B</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_892" name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-12-01to2024-02-29_aehr_RevenuesMember_aehr_CustomerBMember" unitRef="Pure" decimals="INF" scale="-2">19.3</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_894" name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-12-01to2023-02-28_aehr_RevenuesMember_aehr_CustomerBMember" unitRef="Pure" decimals="INF" scale="-2">11.6</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_896" name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-06-01to2023-02-28_aehr_RevenuesMember_aehr_CustomerBMember" unitRef="Pure" decimals="INF" scale="-2">15.7</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer C</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_897" name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-06-01to2024-02-29_aehr_RevenuesMember_aehr_CustomerCMember" unitRef="Pure" decimals="INF" scale="-2">17.2</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;* Amount was less than 10% of total revenue</p></ix:nonNumeric></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">9</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><ix:continuation id="cont_d6e668"><ix:continuation id="cont_c1b6d4"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company had gross accounts receivable from individual customers in excess of <ix:nonFraction id="fid_261" name="aehr:ConcentrationRiskPercentage" contextRef="From2023-06-01to2024-02-29_aehr_RevenueMember" unitRef="Pure" decimals="INF" scale="-2">10</ix:nonFraction>% of gross accounts receivable as follows:&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_9a6077"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>May 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer A</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_254" name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-06-01to2024-02-29_us-gaap_AccountsReceivableMember_aehr_CustomerAMember" unitRef="Pure" decimals="INF" scale="-2">70.2</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_899" name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-09-01to2023-05-31_us-gaap_AccountsReceivableMember_aehr_CustomerAMember" unitRef="Pure" decimals="INF" scale="-2">81.6</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer B</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_898" name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2023-06-01to2024-02-29_us-gaap_AccountsReceivableMember_aehr_CustomerBMember" unitRef="Pure" decimals="INF" scale="-2">18.0</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer C</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_900" name="us-gaap:ConcentrationRiskPercentage1" contextRef="From2022-09-01to2023-05-31_us-gaap_AccountsReceivableMember_aehr_CustomerCMember" unitRef="Pure" decimals="INF" scale="-2">16.5</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">* Amount was less than 10% of total gross accounts receivable</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_836" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Recent Accounting Pronouncements &#8212; </em>The Company's accounts receivable are recorded at invoiced amounts less allowance for any credit losses. According to the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") 2016-13 that the Company adopted on June 1, 2023, the Company recognizes credit losses based on forward-looking current expected credit losses ("CECL"). The Company makes estimates of expected credit losses based upon its assessment of various factors, including the age of accounts receivable balances, credit quality of its customers, current economic conditions, reasonable and supportable forecasts of future economic conditions, and other factors that may affect its ability to collect from customers. The allowance for credit losses is recognized in the condensed consolidated statements of operations. The uncollectible accounts receivable are written off in the period in which a determination is made that all commercially reasonable means of recovering them have been exhausted. The total allowance for credit losses was $<ix:nonFraction id="fid_263" name="us-gaap:SecuritiesBorrowedAllowanceForCreditLoss" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="0">0</ix:nonFraction> at both February 29, 2024 and May 31, 2023, and there was no write-off of accounts receivable for the periods presented. The adoption of ASU 2016-13 did not have a material impact on the Company&#8217;s Condensed Consolidated Financial Statements.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Recent Accounting Pronouncements Not Yet Adopted </em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_837" name="aehr:RecentAccountingPronouncementsNotYetAdoptedPolicyTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Improvements to Reportable Segment Disclosures: In November 2023, the FASB issued ASU 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures (ASU 2023-07), which requires disclosure of incremental segment information on an annual and interim basis. This ASU is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024 on a retrospective basis. The Company is currently evaluating the effect of this pronouncement on its disclosures. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Improvements to Income Tax Disclosures: In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which expands the disclosures required for income taxes. This ASU is effective for fiscal years beginning after December 15, 2024, with early adoption permitted. The amendment should be applied on a prospective basis while retrospective application is permitted. The Company is currently evaluating the effect of this pronouncement on its disclosures.</p></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_819" name="us-gaap:FairValueDisclosuresTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true" continuedAt="cont_57147b"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>2. FAIR VALUE OF FINANCIAL INSTRUMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Fair Value of Measurements &#8212;</em> The Company measures its cash equivalents and money market funds at fair value on a recurring basis. Fair value is an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that is determined based on assumptions that market participants would use in pricing an asset or a liability. Assets and liabilities recorded at fair value are measured and classified in accordance with a three-tier fair value hierarchy based on the observability of the inputs available in the market used to measure fair value:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Level 1 &#8212; Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Level 2 &#8212; Inputs that are based upon quoted prices for similar instruments in active markets, quoted prices for identical or similar instruments in markets that are not active, and model-based valuation techniques for which all significant inputs are observable in the market or can be derived from observable market data. Where applicable, these models project future cash flows and discount the future amounts to a present value using market-based observable inputs including interest rate curves, foreign exchange rates, and credit ratings.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Level 3 &#8212; Unobservable inputs that are supported by little or no market activities.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The following table represents the Company&#8217;s assets measured at fair value on a recurring basis as of February 29, 2024, and the basis for that measurement:</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">10</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><ix:continuation id="cont_57147b" continuedAt="cont_3de168"><ix:nonNumeric id="fid_839" name="us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true" continuedAt="cont_9e47e5"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Balance as of</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, 2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Level 1</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Level 2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Level 3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Money market funds</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_274" name="us-gaap:InvestmentsFairValueDisclosure" contextRef="AsOf2024-02-29_aehr_MoneyMarketFundMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">44,189</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_275" name="us-gaap:InvestmentsFairValueDisclosure" contextRef="AsOf2024-02-29_us-gaap_FairValueInputsLevel1Member_aehr_MoneyMarketFundMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">44,189</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_276" name="us-gaap:InvestmentsFairValueDisclosure" contextRef="AsOf2024-02-29_us-gaap_FairValueInputsLevel2Member_aehr_MoneyMarketFundMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_277" name="us-gaap:InvestmentsFairValueDisclosure" contextRef="AsOf2024-02-29_us-gaap_FairValueInputsLevel3Member_aehr_MoneyMarketFundMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_278" name="us-gaap:InvestmentsFairValueDisclosure" contextRef="AsOf2024-02-29_us-gaap_AssetsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">44,189</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_279" name="us-gaap:InvestmentsFairValueDisclosure" contextRef="AsOf2024-02-29_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel1Member" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">44,189</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_280" name="us-gaap:InvestmentsFairValueDisclosure" contextRef="AsOf2024-02-29_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel2Member" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_281" name="us-gaap:InvestmentsFairValueDisclosure" contextRef="AsOf2024-02-29_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel3Member" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The following table represents the Company&#8217;s assets measured at fair value on a recurring basis as of May 31, 2023, and the basis for that measurement:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_9e47e5"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Balance as of</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>May 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Level 1</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Level 2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Level 3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Money market funds</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_264" name="us-gaap:InvestmentsFairValueDisclosure" contextRef="AsOf2023-05-31_aehr_MoneyMarketFundMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">27,022</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_265" name="us-gaap:InvestmentsFairValueDisclosure" contextRef="AsOf2023-05-31_us-gaap_FairValueInputsLevel1Member_aehr_MoneyMarketFundMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">27,022</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_266" name="us-gaap:InvestmentsFairValueDisclosure" contextRef="AsOf2023-05-31_us-gaap_FairValueInputsLevel2Member_aehr_MoneyMarketFundMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_267" name="us-gaap:InvestmentsFairValueDisclosure" contextRef="AsOf2023-05-31_us-gaap_FairValueInputsLevel3Member_aehr_MoneyMarketFundMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">U. S. treasury securities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_268" name="us-gaap:InvestmentsFairValueDisclosure" contextRef="AsOf2023-05-31_aehr_UStreasurysecuritiesMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17,853</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_269" name="us-gaap:InvestmentsFairValueDisclosure" contextRef="AsOf2023-05-31_us-gaap_FairValueInputsLevel1Member_aehr_USTreasurySecurityMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17,853</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_270" name="us-gaap:InvestmentsFairValueDisclosure" contextRef="AsOf2023-05-31_us-gaap_AssetsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">44,875</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_271" name="us-gaap:InvestmentsFairValueDisclosure" contextRef="AsOf2023-05-31_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel1Member" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">44,875</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_272" name="us-gaap:InvestmentsFairValueDisclosure" contextRef="AsOf2023-05-31_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel2Member" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_273" name="us-gaap:InvestmentsFairValueDisclosure" contextRef="AsOf2023-05-31_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel3Member" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Included in money market funds as of February 29, 2024 and May 31, 2023 is $<ix:nonFraction id="fid_317" name="us-gaap:RestrictedCashNoncurrent" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="0">150,000</ix:nonFraction> restricted cash representing a security deposit for the Company&#8217;s United States manufacturing and office space lease. There were no financial liabilities measured at fair value as of February 29, 2024 and May 31, 2023. There were no transfers between Level 1 and Level 2 fair value measurements during the three and nine months ended February 29, 2024. The carrying amounts of financial instruments, including cash equivalents, accounts receivable, accounts payable and certain other accrued liabilities, approximate fair value due to their short maturities.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The following table summarizes the Company&#8217;s cash, cash equivalents and investments by security type as of February 29, 2024 and May 31, 2023, respectively:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_840" name="us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true" continuedAt="cont_b856a5"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Gross </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>Balances as of February 29, 2024 </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Unrealized</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Estimated</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Cost</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Loss</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Fair Value</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Cash</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_300" name="us-gaap:Cash" contextRef="AsOf2024-02-29_aehr_CostMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,542</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_302" name="us-gaap:Cash" contextRef="AsOf2024-02-29_aehr_GrossUnrealizedLossMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_305" name="us-gaap:Cash" contextRef="AsOf2024-02-29_aehr_EstimatedFairValueMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,542</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Cash equivalents:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Money market funds</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_308" name="us-gaap:CashEquivalentsAtCarryingValue" contextRef="AsOf2024-02-29_aehr_CostMember_aehr_MoneyMarketFundMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">44,039</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_310" name="us-gaap:CashEquivalentsAtCarryingValue" contextRef="AsOf2024-02-29_aehr_GrossUnrealizedLossMember_aehr_MoneyMarketFundMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_312" name="us-gaap:CashEquivalentsAtCarryingValue" contextRef="AsOf2024-02-29_aehr_EstimatedFairValueMember_aehr_MoneyMarketFundMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">44,039</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total cash and cash equivalents</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_314" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2024-02-29_aehr_CostMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">47,581</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_303" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2024-02-29_aehr_GrossUnrealizedLossMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_306" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2024-02-29_aehr_EstimatedFairValueMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">47,581</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Long-term investments:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Money market funds</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_309" name="us-gaap:LongTermInvestments" contextRef="AsOf2024-02-29_aehr_CostMember_aehr_MoneyMarketFundMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">150</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_311" name="us-gaap:LongTermInvestments" contextRef="AsOf2024-02-29_aehr_GrossUnrealizedLossMember_aehr_MoneyMarketFundMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_313" name="us-gaap:LongTermInvestments" contextRef="AsOf2024-02-29_aehr_EstimatedFairValueMember_aehr_MoneyMarketFundMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">150</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total cash, cash equivalents and investments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_301" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2024-02-29_aehr_CostMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">47,731</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_304" name="us-gaap:CashCashEquivalentsAndShortTermInvestments" contextRef="AsOf2024-02-29_aehr_GrossUnrealizedLossMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_307" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2024-02-29_aehr_EstimatedFairValueMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">47,731</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><ix:continuation id="cont_b856a5"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Gross </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>Balances as of May 31, 2023</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Unrealized</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Estimated</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Cost</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Loss</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Fair Value</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Cash</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_287" name="us-gaap:Cash" contextRef="AsOf2023-05-31_aehr_CostMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,182</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_288" name="us-gaap:Cash" contextRef="AsOf2023-05-31_aehr_GrossUnrealizedLossMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_289" name="us-gaap:Cash" contextRef="AsOf2023-05-31_aehr_EstimatedFairValueMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,182</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Cash equivalents:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Money market funds</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_282" name="us-gaap:CashEquivalentsAtCarryingValue" contextRef="AsOf2023-05-31_aehr_CostMember_aehr_MoneyMarketFundMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">26,872</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_865" name="us-gaap:CashEquivalentsAtCarryingValue" contextRef="AsOf2023-05-31_aehr_GrossUnrealizedLossMember_aehr_MoneyMarketFundMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_299" name="us-gaap:CashEquivalentsAtCarryingValue" contextRef="AsOf2023-05-31_aehr_EstimatedFairValueMember_aehr_MoneyMarketFundMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">26,872</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total cash and cash equivalents</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_290" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2023-05-31_aehr_CostMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">30,054</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_291" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2023-05-31_aehr_GrossUnrealizedLossMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_292" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="AsOf2023-05-31_aehr_EstimatedFairValueMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">30,054</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Short term investments:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">U. S. treasury securities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_296" name="us-gaap:ShortTermInvestments" contextRef="AsOf2023-05-31_aehr_CostMember_aehr_UnitedStateTreasurySecuritiesMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17,870</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_297" name="us-gaap:ShortTermInvestments" contextRef="AsOf2023-05-31_aehr_GrossUnrealizedLossMember_aehr_UnitedStateTreasurySecuritiesMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">17</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_298" name="us-gaap:ShortTermInvestments" contextRef="AsOf2023-05-31_aehr_EstimatedFairValueMember_aehr_UnitedStateTreasurySecuritiesMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17,853</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Long-term investments:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Money market funds</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_286" name="us-gaap:LongTermInvestments" contextRef="AsOf2023-05-31_aehr_EstimatedFairValueMember_aehr_MoneyMarketFundMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">150</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_285" name="us-gaap:LongTermInvestments" contextRef="AsOf2023-05-31_aehr_GrossUnrealizedLossMember_aehr_MoneyMarketFundMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_284" name="us-gaap:LongTermInvestments" contextRef="AsOf2023-05-31_aehr_CostMember_aehr_MoneyMarketFundMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">150</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total cash, cash equivalents and investments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_293" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2023-05-31_aehr_CostMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">48,074</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_294" name="us-gaap:CashCashEquivalentsAndShortTermInvestments" contextRef="AsOf2023-05-31_aehr_GrossUnrealizedLossMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_295" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="AsOf2023-05-31_aehr_EstimatedFairValueMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">48,057</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:continuation></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">11</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><ix:continuation id="cont_3de168"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Long-term investments are included in other assets on the accompanying Condensed Consolidated Balance Sheets. Unrealized gains and temporary losses on investments classified as available-for-sale debt securities are included within accumulated other comprehensive loss, net of any related tax effect. Upon realization, those amounts are reclassified from accumulated other comprehensive loss to results of operations.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_820" name="us-gaap:SupplementalBalanceSheetDisclosuresTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true" continuedAt="cont_949d81"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>3. BALANCE SHEET INFORMATION</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Inventories</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Inventories consisted of the following:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_841" name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>May 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Raw materials and sub-assemblies</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_320" name="us-gaap:InventoryRawMaterialsNetOfReserves" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">24,770</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_321" name="us-gaap:InventoryRawMaterialsNetOfReserves" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">15,953</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Work in process</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_322" name="us-gaap:InventoryWorkInProcessNetOfReserves" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">11,080</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_323" name="us-gaap:InventoryWorkInProcessNetOfReserves" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,764</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Finished goods</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_324" name="us-gaap:InventoryFinishedGoodsNetOfReserves" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,235</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_325" name="us-gaap:InventoryFinishedGoodsNetOfReserves" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,191</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_326" name="us-gaap:InventoryNet" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">38,085</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_327" name="us-gaap:InventoryNet" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">23,908</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Property and equipment</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Property and equipment, net&#160;consisted of the following:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_842" name="us-gaap:PropertyPlantAndEquipmentTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Useful life</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>May 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>(in years)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Leasehold improvements</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">&#160;* </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_328" name="us-gaap:LeaseholdImprovementsGross" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,643</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_329" name="us-gaap:LeaseholdImprovementsGross" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,310</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Machinery and equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">&#160;3 - 5 </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_332" name="us-gaap:MachineryAndEquipmentGross" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,775</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_333" name="us-gaap:MachineryAndEquipmentGross" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,445</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Test equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">&#160;4 - 5 </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_334" name="us-gaap:PropertyPlantAndEquipmentOther" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,030</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_335" name="us-gaap:PropertyPlantAndEquipmentOther" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,998</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Furniture and fixtures</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">&#160;2 - 5 </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_330" name="us-gaap:FurnitureAndFixturesGross" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">717</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_331" name="us-gaap:FurnitureAndFixturesGross" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">706</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_336" name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">11,165</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_337" name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">10,459</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Less: accumulated depreciation and amortization</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_338" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">8,015</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_339" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7,700</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_340" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,150</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_341" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,759</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">* Lesser of estimated useful life or lease term.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Product warranties</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company provides for the estimated cost of product warranties at the time revenues are recognized on the products shipped. While the Company engages in extensive product quality programs and processes, including actively monitoring and evaluating the quality of its component suppliers, the Company&#8217;s warranty obligation is affected by product failure rates, material usage and service delivery costs incurred in correcting a product failure. Should actual product failure rates, material usage or service delivery costs differ from the Company&#8217;s estimates, revisions to the estimated warranty liability would be required. The standard warranty period is one year for systems and ninety days for parts and service.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The following is a summary of changes in the Company's liability for product warranties during the three and nine months ended February 29, 2024 and February 28, 2023:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_843" name="us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Balance at the beginning of the period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_343" name="us-gaap:ProductWarrantyAccrual" contextRef="AsOf2023-11-30" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">221</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_357" name="us-gaap:ProductWarrantyAccrual" contextRef="AsOf2022-11-30" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">311</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_354" name="us-gaap:ProductWarrantyAccrual" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">267</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_342" name="us-gaap:ProductWarrantyAccrual" contextRef="AsOf2022-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">410</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Accruals for warranties issued during the period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_345" name="us-gaap:ProductWarrantyAccrualWarrantiesIssued" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">117</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_353" name="us-gaap:ProductWarrantyAccrualWarrantiesIssued" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">84</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_352" name="us-gaap:ProductWarrantyAccrualWarrantiesIssued" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">344</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_344" name="us-gaap:ProductWarrantyAccrualWarrantiesIssued" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">207</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Adjustments to previously existing warranty accruals</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_346" name="us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease" contextRef="From2023-12-01to2024-02-29" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_358" name="us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease" contextRef="From2022-12-01to2023-02-28" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><ix:nonFraction id="fid_355" name="us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease" contextRef="From2023-06-01to2024-02-29" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_349" name="us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">61</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Consumption of reserves</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_347" name="us-gaap:ProductWarrantyAccrualPayments" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">123</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_359" name="us-gaap:ProductWarrantyAccrualPayments" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">107</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_356" name="us-gaap:ProductWarrantyAccrualPayments" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">396</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_350" name="us-gaap:ProductWarrantyAccrualPayments" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">390</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Balance at the end of the period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_866" name="us-gaap:ProductWarrantyAccrual" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">215</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_351" name="us-gaap:ProductWarrantyAccrual" contextRef="AsOf2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">288</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">215</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">288</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The accrued warranty balance is included in accrued expenses on the accompanying Condensed Consolidated Balance Sheets.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">12</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_949d81"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Deferred revenue</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Deferred revenue, short-term&#160;consisted of the following:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_844" name="us-gaap:DeferredRevenueByArrangementDisclosureTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>May 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer deposits</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_360" name="us-gaap:CustomerDepositsCurrent" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">418</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_361" name="us-gaap:CustomerDepositsCurrent" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,690</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Deferred revenue</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_362" name="us-gaap:DeferredRevenueAndCreditsCurrent" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">68</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_363" name="us-gaap:DeferredRevenueAndCreditsCurrent" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">132</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_364" name="us-gaap:DeferredRevenue" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">486</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_365" name="us-gaap:DeferredRevenue" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,822</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_821" name="us-gaap:IncomeTaxDisclosureTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>4. INCOME TAX</strong>&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company is subject to U.S federal and state and foreign income taxes as a corporation. The Company&#8217;s tax provision and the resulting effective tax rate for the interim period is determined based upon its estimated annual effective tax rate adjusted for the effect of discrete items arising in that quarter. The Company recorded a provision for income taxes of $<ix:nonFraction id="fid_368" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7</ix:nonFraction>,000 and $<ix:nonFraction id="fid_366" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">43</ix:nonFraction>,000 for the three and nine months ended February 29, 2024, respectively, which consisted primarily of foreign withholding taxes and foreign income taxes. The Company recorded a provision for income taxes of $<ix:nonFraction id="fid_369" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17</ix:nonFraction>,000&#160;and $<ix:nonFraction id="fid_367" name="us-gaap:IncomeTaxExpenseBenefit" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">49</ix:nonFraction>,000 for the three and nine months ended February 28, 2023, respectively, which consisted primarily of foreign withholding taxes and foreign income taxes.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Income taxes have been provided using the liability method whereby deferred tax assets and liabilities are determined based on differences between financial reporting and tax bases of assets and liabilities and net operating loss and tax credit carryforwards measured using the enacted tax rates and laws that will be in effect when the differences are expected to reverse, or the carryforwards are utilized. Valuation allowances are established when it is determined that it is more likely than not that such assets will not be realized.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Since fiscal 2009, a full valuation allowance was established against all deferred tax assets, as management determined that it was more likely than not that certain deferred tax assets would not be realized. The Company continues to reassess the need for a valuation allowance on a quarterly basis.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company accounts for uncertain tax positions consistent with authoritative guidance. The guidance prescribes a &#8220;more likely than not&#8221; recognition threshold and measurement attribute for the financial statement recognition and measurement of a tax position taken or expected to be taken in a tax return. The Company recognizes interest and penalties related to unrecognized tax benefits as a component of income taxes.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_822" name="us-gaap:DebtDisclosureTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true" continuedAt="cont_df2f2e"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>5. BORROWING ARRANGEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On January 16, 2020, the Company entered into a Loan and Security Agreement (the &#8220;Loan Agreement&#8221;) with Silicon Valley Bank (&#8220;SVB&#8221;). Pursuant to the Loan Agreement, the Company may borrow up to (a) the lesser of (i) the revolving line of $<ix:nonFraction id="fid_377" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2024-02-29_aehr_OriginalLoanAndSecurityAgreementMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-5" scale="6">4.0</ix:nonFraction> million or (ii) the amount available under the borrowing base under a revolving line of credit which is collateralized by all the Company&#8217;s assets except intellectual property. The borrowing base is 80% of eligible accounts, as determined by SVB from the Company&#8217;s most recent borrowing base statement; provided, however, SVB has the right to decrease the foregoing percentage in its good faith business judgment to mitigate the impact of certain events or conditions, which may adversely affect the collateral or its value. Subject to an event of default, the principal amount outstanding under the revolving line of credit will accrue interest at a floating per annum rate equal to <ix:nonNumeric id="fid_370" name="us-gaap:DebtInstrumentInterestRateTerms" contextRef="From2023-06-01to2024-02-29_aehr_OriginalLoanAndSecurityAgreementMember">the greater of (a) the prime rate plus an additional percentage of up to 1%, which additional percentage depends on the Company&#8217;s adjusted quick ratio, and (b) 4.75%</ix:nonNumeric>. Interest is payable monthly on the last calendar day of each month and the outstanding principal amount, the unpaid interest and all other obligations are due on the maturity date, which is 364 days from the effective date of January 13, 2020.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">13</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><ix:continuation id="cont_df2f2e"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On January 14, 2021, the Company entered into the First Amendment to Loan and Security Agreement (the &#8220;Amendment&#8221;) with SVB. The Amendment, among other things, extended the Revolving Line Maturity Date to July 14, 2021; provided, however, that if the Company achieved specified operating metrics on a consolidated basis on or prior to May 31, 2021 the Amended Revolving Line Maturity Date would be extended to <ix:nonNumeric id="fid_372" name="us-gaap:LineOfCreditFacilityExpirationDate1" contextRef="From2023-06-01to2024-02-29_aehr_FirstAmendmentToLoanAndSecurityAgreementMember" format="ixt:datemonthdayyearen">January 13, 2022</ix:nonNumeric>. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On January 11, 2022, the Company entered into the Second Amendment to the Loan and Security Agreement (the &#8220;Second Amendment&#8221;) with SVB. The Second Amendment, among other things, (A) increased the available amount of the line up to the lesser of (i) $<ix:nonFraction id="fid_378" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" contextRef="AsOf2024-02-29_aehr_SecondAmendmentToLoanAndSecurityAgreementMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-6" scale="6">10</ix:nonFraction> million or (ii) the available amount under the borrowing base, under a revolving line of credit, (B) allowed for borrowing up to $3 million of the available balance based upon eligible customer purchase orders, (C) reduced the interest rate for account advances under the line to <ix:nonNumeric id="fid_371" name="us-gaap:DebtInstrumentInterestRateTerms" contextRef="From2023-06-01to2024-02-29_aehr_SecondAmendmentToLoanAndSecurityAgreementMember">the greater of (a) prime rate plus an additional percentage up to 1.0%, which additional percentage depends on the Company&#8217;s adjusted quick ratio, and (b) 3.25%, reduces the interest rate for purchase order advances under the line to the greater of (a) prime rate plus an additional percentage up to 1.5%, which additional percentage depends on the Company&#8217;s adjusted quick ratio, and (b) 3.75%</ix:nonNumeric>, and (D) extended the maturity date to <ix:nonNumeric id="fid_373" name="us-gaap:LineOfCreditFacilityExpirationDate1" contextRef="From2023-06-01to2024-02-29_aehr_SecondAmendmentToLoanAndSecurityAgreementMember" format="ixt:datemonthdayyearen">January 13, 2023</ix:nonNumeric>.&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On January 10, 2023, the Company entered into the Third Amendment to the Loan and Security Agreement (the &#8220;Third Amendment&#8221;) with SVB. The Third Amendment, among other things, extends the Revolving Line Maturity Date to January 13, 2024, provided, however, that (i) if the Company submits a fiscal year 2024 plan of record that is generally acceptable to SVB, and (ii) the minimum net liquidity at the end of November 30, 2023 is at least $<ix:nonFraction id="fid_379" name="aehr:AmountOfMinimumNetLiquidityOfCreditFacility" contextRef="AsOf2024-02-29_aehr_ThirdAmendmentToLoanAndSecurityAgreementMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-5" scale="6">20.0</ix:nonFraction> million, the Amended Revolving Line Maturity Date would be extended to <ix:nonNumeric id="fid_374" name="us-gaap:LineOfCreditFacilityExpirationDate1" contextRef="From2023-06-01to2024-02-29_aehr_ThirdAmendmentToLoanAndSecurityAgreementMember" format="ixt:datemonthdayyearen">January 13, 2025</ix:nonNumeric>. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company terminated the revolving line on <ix:nonNumeric id="fid_375" name="aehr:RevolvingLineTerminationDate" contextRef="From2023-06-01to2024-02-29_aehr_ThirdAmendmentToLoanAndSecurityAgreementMember">January 4, 2024</ix:nonNumeric>.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_823" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>6. COMMITMENTS AND CONTINGENCIES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Purchase Obligations</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company has purchase obligations to certain suppliers. In some cases, the products the Company purchases are unique and have provisions against cancellation of the order.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Contingencies</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company may, from time to time, be involved in legal proceedings arising in the ordinary course of business. While there can be no assurances as to the ultimate outcome of any litigation involving the Company, management does not believe any pending legal proceedings will result in judgment or settlement that will have a material adverse effect on the Company&#8217;s consolidated financial position, results of operations or cash flows.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In the normal course of business to facilitate sales of its products, the Company indemnifies other parties, including customers, with respect to certain matters, for example, including against losses arising from a breach of representations or covenants, or from intellectual property infringement or other claims. These agreements may limit the time within which an indemnification claim can be made and the amount of the claim. In addition, the Company has entered into indemnification agreements with its officers and directors, and the Company&#8217;s bylaws contain similar indemnification obligations to the Company&#8217;s agents.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">It is not possible to determine the maximum potential amount under these indemnification agreements due to the limited history of prior indemnification claims and the unique facts and circumstances involved in each particular agreement. To date, payments made by the Company under these agreements have not had a material impact on the Company&#8217;s operating results, financial position or cash flow.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_824" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>7. SHAREHOLDERS&#8217; EQUITY </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">On August 25, 2021, the Board of Directors authorized management to take actions necessary for the execution of a $<ix:nonFraction id="fid_391" name="aehr:ShelfRegistrationAmount" contextRef="AsOf2021-08-25" format="ixt:numdotdecimal" unitRef="USD" decimals="-6" scale="6">75</ix:nonFraction> million shelf registration. A Registration Statement on Form S-3 was filed with the SEC on September 3, 2021. A Prospectus Supplement for an "At the Market" ("ATM") sale of $25 million of common stock was subsequently filed on September 17, 2021. On October 8, 2021, the Company executed the ATM offering by selling <ix:nonFraction id="fid_382" name="us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction" contextRef="From2021-10-01to2021-10-08" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">1,696,729</ix:nonFraction> shares of common stock at an average selling price of $<ix:nonFraction id="fid_380" name="us-gaap:SaleOfStockPricePerShare" contextRef="AsOf2021-10-08" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">14.73</ix:nonFraction> per share. The gross proceeds to the Company were $25.0 million, before commission fees of $<ix:nonFraction id="fid_386" name="us-gaap:SalesCommissionsAndFees" contextRef="From2021-10-01to2021-10-08" format="ixt:numdotdecimal" unitRef="USD" decimals="-5" scale="6">0.7</ix:nonFraction> million and offering expenses of $<ix:nonFraction id="fid_388" name="us-gaap:NoninterestExpenseOfferingCost" contextRef="From2021-10-01to2021-10-08" format="ixt:numdotdecimal" unitRef="USD" decimals="-5" scale="6">0.3</ix:nonFraction> million. Another Prospectus Supplement for an ATM sale of $<ix:nonFraction id="fid_384" name="us-gaap:ProceedsFromOtherEquity" contextRef="From2021-10-01to2021-10-08" format="ixt:numdotdecimal" unitRef="USD" decimals="-6" scale="6">25</ix:nonFraction> million of common stock was subsequently filed on February 8, 2023. The Company partially executed the ATM offering by selling <ix:nonFraction id="fid_383" name="us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction" contextRef="From2023-02-01to2023-02-08" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">208,917</ix:nonFraction> shares of common stock at an average selling price of $<ix:nonFraction id="fid_381" name="us-gaap:SaleOfStockPricePerShare" contextRef="AsOf2023-02-08" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">34.78</ix:nonFraction> per share. The gross proceeds to the Company during the quarter ended February 28, 2023 were $<ix:nonFraction id="fid_385" name="us-gaap:ProceedsFromOtherEquity" contextRef="From2023-02-01to2023-02-08" format="ixt:numdotdecimal" unitRef="USD" decimals="-5" scale="6">7.3</ix:nonFraction> million, before commissions of $<ix:nonFraction id="fid_387" name="us-gaap:SalesCommissionsAndFees" contextRef="From2023-02-01to2023-02-08" format="ixt:numdotdecimal" unitRef="USD" decimals="-5" scale="6">0.2</ix:nonFraction> million and offering expenses of $<ix:nonFraction id="fid_389" name="us-gaap:NoninterestExpenseOfferingCost" contextRef="From2023-02-01to2023-02-08" format="ixt:numdotdecimal" unitRef="USD" decimals="-5" scale="6">0.2</ix:nonFraction> million. As of February 29, 2024, the remaining amount of the ATM offering was $<ix:nonFraction id="fid_390" name="aehr:OutstandingAmounTofATMOffering" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-5" scale="6">17.7</ix:nonFraction> million.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_825" name="us-gaap:ComprehensiveIncomeNoteTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>8. ACCUMULATED OTHER COMPREHENSIVE LOSS </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Changes in the components of accumulated other comprehensive loss, net of tax, were as follows (in thousands):</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_845" name="us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Cumulative</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Unrealized loss</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>translation adjustment</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>on investments, net</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Total</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Balance as of May 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_393" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2023-05-31_aehr_CumulativeTranslationAdjustmentsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">138</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_394" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2023-05-31_aehr_UnrealizedLossOnInvestmentsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">17</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_392" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">155</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Other comprehensive income (loss) before reclassifications</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_395" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsTax" contextRef="From2023-06-01to2024-02-29_aehr_CumulativeTranslationAdjustmentsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">6</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_396" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsTax" contextRef="From2023-06-01to2024-02-29_aehr_UnrealizedLossOnInvestmentsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_397" name="us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsTax" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">11</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Balance as of February 29,&#160; 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_398" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2024-02-29_aehr_CumulativeTranslationAdjustmentsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">144</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_399" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2024-02-29_aehr_UnrealizedLossOnInvestmentsMember" format="ixt:zerodash" unitRef="USD" decimals="-3" scale="3">-</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_400" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">144</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></table></ix:nonNumeric></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">14</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><ix:nonNumeric id="fid_826" name="us-gaap:RevenueFromContractWithCustomerTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true" continuedAt="cont_9981ae"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>9. REVENUE</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Revenue recognition</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company recognizes revenue when promised goods or services are transferred to customers in an amount that reflects the consideration to which the Company expects to be entitled in exchange for those goods or services by following a five-step process: (1) identify the contract with a customer, (2) identify the performance obligations in the contract, (3) determine the transaction price, (4) allocate the transaction price, and (5) recognize revenue when or as the Company satisfies a performance obligation, as further described below.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Performance obligations include sales of systems, contactors, spare parts, as well as installation and training services included in customer contracts. A contract&#8217;s transaction price is allocated to each distinct performance obligation. In determining the transaction price, the Company evaluates whether the price is subject to refund or adjustment to determine the net consideration to which the Company expects to be entitled. The Company generally does not grant return privileges, except for defective products during the warranty period.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">For contracts that contain multiple performance obligations, the Company allocates the transaction price to the performance obligations on a relative standalone selling price basis. Standalone selling prices are based on multiple factors including, but not limited to historical discounting trends for products and services and pricing practices in different geographies. Revenue for systems and spares is recognized at a point in time, which is generally upon shipment or delivery and evidenced by transfer of title and risk of loss to the customer. Revenue from services is recognized over time as the customer receives the benefit over the contractual period of generally one year or less.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company has elected the practical expedient to not assess whether a contract has a significant financing component as the Company&#8217;s standard payment terms are less than one year. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company sells its products primarily through a direct sales force. In certain international markets, the Company sells its products through independent distributors.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Disaggregation of revenue</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The following presents information about the Company&#8217;s net revenues in different geographic areas, which are based upon ship-to locations, and by product category:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_846" name="us-gaap:DisaggregationOfRevenueTableTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true" continuedAt="cont_84f295"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Asia</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_411" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-12-01to2024-02-29_srt_AsiaMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">5,167</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_412" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-12-01to2023-02-28_srt_AsiaMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">14,849</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_407" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-06-01to2024-02-29_srt_AsiaMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">43,320</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_408" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-06-01to2023-02-28_srt_AsiaMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">34,873</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">United States</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_415" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-12-01to2024-02-29_country_US" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,640</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_416" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-12-01to2023-02-28_country_US" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,343</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_403" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-06-01to2024-02-29_country_US" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,105</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_404" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-06-01to2023-02-28_country_US" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7,761</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Europe</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_413" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-12-01to2024-02-29_srt_EuropeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">756</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_414" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-12-01to2023-02-28_srt_EuropeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">14</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_405" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-06-01to2024-02-29_srt_EuropeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,193</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_406" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-06-01to2023-02-28_srt_EuropeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">58</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_409" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7,563</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_410" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17,206</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_401" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">49,618</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_402" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">42,692</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><ix:continuation id="cont_84f295" continuedAt="cont_4de6c7"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Systems</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_427" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-12-01to2024-02-29_aehr_SystemsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,971</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_428" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-12-01to2023-02-28_aehr_SystemsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,821</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_419" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-06-01to2024-02-29_aehr_SystemsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">20,750</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_422" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-06-01to2023-02-28_aehr_SystemsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">26,315</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Contactors</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_429" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-12-01to2024-02-29_aehr_ContactorsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,759</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_430" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-12-01to2023-02-28_aehr_ContactorsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">6,299</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_421" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-06-01to2024-02-29_aehr_ContactorsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">25,174</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_423" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-06-01to2023-02-28_aehr_ContactorsMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">13,400</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Services</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_431" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-12-01to2024-02-29_aehr_ServicesMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">833</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_432" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-12-01to2023-02-28_aehr_ServicesMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,086</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_420" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-06-01to2024-02-29_aehr_ServicesMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,694</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_424" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-06-01to2023-02-28_aehr_ServicesMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,977</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_425" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7,563</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_426" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17,206</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_417" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">49,618</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_418" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">42,692</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:continuation></ix:nonNumeric><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">15</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_9981ae"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">With the exception of the amount of service contracts and extended warranties, the Company&#8217;s product net revenues are recognized at a point in time when control transfers to the customer. The following presents net revenues based on timing of recognition:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:continuation id="cont_4de6c7"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Timing of revenue recognition:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">&#160;&#160; Products and services transferred at a point in time</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_441" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-12-01to2024-02-29_aehr_ProductsAndServicesTransferredAtAPointInTimeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7,240</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_442" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-12-01to2023-02-28_aehr_ProductsAndServicesTransferredAtAPointInTimeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">16,863</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_436" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-06-01to2024-02-29_aehr_ProductsAndServicesTransferredAtAPointInTimeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">48,225</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_435" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-06-01to2023-02-28_aehr_ProductsAndServicesTransferredAtAPointInTimeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">41,523</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">&#160;&#160; Services transferred over time</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_443" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-12-01to2024-02-29_aehr_ServicesTransferredOverTimeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">323</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_444" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-12-01to2023-02-28_aehr_ServicesTransferredOverTimeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">343</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_438" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-06-01to2024-02-29_aehr_ServicesTransferredOverTimeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,393</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_437" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-06-01to2023-02-28_aehr_ServicesTransferredOverTimeMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,169</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_439" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">7,563</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_440" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">17,206</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_434" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">49,618</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_433" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">42,692</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Contract balances&#160;&#160;&#160;</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Accounts receivable are recognized in the period the Company delivers goods or provides services and when the Company&#8217;s right to consideration is unconditional. &#160;Contract assets include unbilled receivables which represent revenues that are earned in advance of scheduled billings to customers. These amounts are primarily related to product sales where transfer of control has occurred but the Company has not yet invoiced. As of February 29, 2024, unbilled receivables were $<ix:nonFraction id="fid_452" name="us-gaap:ContractWithCustomerAssetNet" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="0">345,000</ix:nonFraction> and were included in prepaid expenses and other current assets on the accompanying Condensed Consolidated Balance Sheets. Contract assets were not significant as of May 31, 2023. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Contract liabilities include payments received in advance of performance under a contract and are satisfied as the associated revenue is recognized. Contract liabilities as of February 29, 2024 and May 31, 2023 were $<ix:nonFraction id="fid_445" name="us-gaap:ContractWithCustomerLiability" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="0">486,000</ix:nonFraction> and $<ix:nonFraction id="fid_446" name="us-gaap:ContractWithCustomerLiability" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">2,853,000</ix:nonFraction>, respectively, and were included in deferred revenue, short-term and deferred revenue, long-term on the accompanying Condensed Consolidated Balance Sheets. During the three and nine months ended February 29, 2024, the Company recognized $<ix:nonFraction id="fid_451" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="0">31,000</ix:nonFraction> and $<ix:nonFraction id="fid_447" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="0">2,802,000</ix:nonFraction> in revenue, respectively, which were included in contract liabilities as of May 31, 2023.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Remaining performance obligations</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On February 29, 2024, the Company had $<ix:nonFraction id="fid_450" name="us-gaap:RevenueRemainingPerformanceObligation" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="0">68,000</ix:nonFraction> of remaining performance obligations, which were comprised of service contracts and extended warranty contracts not yet delivered. The Company expects to recognize approximately&#160;<ix:nonFraction id="fid_448" name="us-gaap:RevenueRemainingPerformanceObligationPercentage" contextRef="AsOf2024-05-30_srt_ScenarioForecastMember_us-gaap_SubsequentEventMember" unitRef="Pure" decimals="INF" scale="-2">30.2</ix:nonFraction>% of its remaining performance obligations as revenue in the remainder of fiscal 2024, and an additional&#160;<ix:nonFraction id="fid_449" name="us-gaap:RevenueRemainingPerformanceObligationPercentage" contextRef="AsOf2025-05-30_srt_ScenarioForecastMember_us-gaap_SubsequentEventMember" unitRef="Pure" decimals="INF" scale="-2">69.8</ix:nonFraction>% in fiscal 2025. The foregoing excludes the value of other remaining performance obligations, as they have original durations of one year or less and excludes information about variable consideration allocated entirely to a wholly unsatisfied performance obligation.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Costs to obtain or fulfill a contract</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company generally expenses sales commissions when incurred as a component of selling, general and administrative expenses as the amortization period is typically less than one year. Additionally, the majority of the Company&#8217;s cost of fulfillment as a manufacturer of products is classified as inventory and fixed assets, which are accounted for under the respective guidance for those asset types. Other costs of contract fulfillment are immaterial due to the nature of the Company&#8217;s products and their respective manufacturing process.</p></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">16</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><ix:nonNumeric id="fid_827" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>10. STOCK-BASED COMPENSATION</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Stock-based compensation expense consists of expenses for stock options, restricted stock units (&#8220;RSUs&#8221;), performance RSUs (&#8220;PRSUs&#8221;), restricted shares, performance restricted shares and employee stock purchase plan (&#8220;ESPP&#8221;), purchase rights. Stock-based compensation expense for stock options and ESPP purchase rights is measured at each grant date, based on the fair value of the award using the Black-Scholes option valuation model, and is recognized as expense over the employee&#8217;s requisite service period. This model was developed for use in estimating the value of publicly traded options that have no vesting restrictions and are fully transferable. The Company&#8217;s employee stock options have characteristics significantly different from those of publicly traded options. For RSUs, PRSUs, restricted shares and performance restricted shares, stock-based compensation expense is based on the fair value of the Company&#8217;s common stock at the grant date and is recognized as expense over the employee&#8217;s requisite service period. All of the Company&#8217;s stock-based compensation is accounted for as equity instruments. See Note 13 in the Company&#8217;s Annual Report on Form 10-K for fiscal 2023 filed on August 28, 2023 for further information regarding the 2016 Equity Incentive Plan and the ESPP. On October 23, 2023, the shareholders of the Company approved the 2023 Equity Incentive Plan and on October 27, 2023, the Company filed the Form S-8 to issue awards during this quarter onwards from a pool of <ix:nonFraction id="fid_499" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">1,500,000</ix:nonFraction> shares. Full value awards, which are equity awards other than options, stock appreciation rights or other awards that are based solely on an increase in value of the shares following the grant date, when granted or forfeited will be counted as the same number of common stock shares added or deducted to the remaining available shares for issuance under the 2023 Equity Incentive Plan.&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The following table summarizes the stock-based compensation expense for the three and nine months ended February 29, 2024 and February 28, 2023:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_847" name="us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Cost of sales</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_454" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-12-01to2024-02-29_us-gaap_CostOfSalesMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">58</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_453" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2022-12-01to2023-02-28_us-gaap_CostOfSalesMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">75</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_461" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-06-01to2024-02-29_us-gaap_CostOfSalesMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">222</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_462" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2022-06-01to2023-02-28_us-gaap_CostOfSalesMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">252</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Research and development</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_458" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-12-01to2024-02-29_us-gaap_ResearchAndDevelopmentExpenseMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">148</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_457" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2022-12-01to2023-02-28_us-gaap_ResearchAndDevelopmentExpenseMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">158</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_463" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-06-01to2024-02-29_us-gaap_ResearchAndDevelopmentExpenseMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">440</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_466" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2022-06-01to2023-02-28_us-gaap_ResearchAndDevelopmentExpenseMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">513</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Selling, general and administrative</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_456" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-12-01to2024-02-29_us-gaap_GeneralAndAdministrativeExpenseMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">377</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_455" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2022-12-01to2023-02-28_us-gaap_GeneralAndAdministrativeExpenseMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">359</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_464" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-06-01to2024-02-29_us-gaap_GeneralAndAdministrativeExpenseMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,081</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_467" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2022-06-01to2023-02-28_us-gaap_GeneralAndAdministrativeExpenseMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,330</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_459" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">583</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_460" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">592</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_465" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">1,743</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_468" name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,095</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Stock-based compensation expense totaling $<ix:nonFraction id="fid_497" name="us-gaap:CapitalizedCostsAssetRetirementCosts" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="0">252,000</ix:nonFraction>&#160;and $<ix:nonFraction id="fid_498" name="us-gaap:CapitalizedCostsAssetRetirementCosts" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="0">120,000</ix:nonFraction> was capitalized as part of inventory as of February 29, 2024 and as of May 31, 2023, respectively.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company&#8217;s nonvested RSU, PRSU and restricted shares activities during the three and nine months ended February 29, 2024 were as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_848" name="us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Weighted</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Average Grant</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Date Fair</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Shares</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Value</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>(in thousands)</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Per Share</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Unvested, May 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_469" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" contextRef="AsOf2023-05-31_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">345</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_473" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2023-05-31_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">6.40</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Granted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Vested</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_471" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" contextRef="From2023-06-01to2023-08-31_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">77</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_475" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" contextRef="From2023-06-01to2023-08-31_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">7.16</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Forfeited</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_472" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" contextRef="From2023-06-01to2023-08-31_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">52</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_476" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" contextRef="From2023-06-01to2023-08-31_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">5.79</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Unvested, August 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_488" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" contextRef="AsOf2023-08-31_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">216</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_492" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2023-08-31_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">6.27</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Granted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_489" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2023-09-01to2023-11-30_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">203</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_493" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2023-09-01to2023-11-30_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">31.51</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Vested</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_487" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" contextRef="From2023-09-01to2023-11-30_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">28</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_494" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" contextRef="From2023-09-01to2023-11-30_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">8.02</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Forfeited</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_490" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" contextRef="From2023-09-01to2023-11-30_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">1</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_495" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" contextRef="From2023-09-01to2023-11-30_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">29.79</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Unvested, November 30, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_478" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" contextRef="AsOf2023-11-30_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">390</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_482" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2023-11-30_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">19.28</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Granted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_477" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" contextRef="From2023-12-01to2024-02-29_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">1</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_484" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="From2023-12-01to2024-02-29_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">22.57</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Vested</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_479" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" contextRef="From2023-12-01to2024-02-29_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">32</ix:nonFraction></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_483" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" contextRef="From2023-12-01to2024-02-29_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">12.42</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Forfeited</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_480" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" contextRef="From2023-12-01to2024-02-29_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">6</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_485" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" contextRef="From2023-12-01to2024-02-29_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">6.21</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Unvested, February 29, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_481" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" contextRef="AsOf2024-02-29_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">353</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_486" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" contextRef="AsOf2024-02-29_aehr_NonvestedRSUActivtyMember" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">20.16</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Under the ESPP, the Company issued&#160;<ix:nonFraction id="fid_501" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">24,000</ix:nonFraction>&#160;and&#160;<ix:nonFraction id="fid_502" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">109,000</ix:nonFraction>&#160;shares, respectively, during the nine months ended February 29, 2024 and February 28, 2023.&#160;As of February 29, 2024 and February 28, 2023, ESPP shares available for issuance totaled <ix:nonFraction id="fid_500" name="aehr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeStockPurchasePlanNumberOfSharesAvailableForGrant" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">373,000</ix:nonFraction>&#160;and&#160;<ix:nonFraction id="fid_503" name="aehr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeStockPurchasePlanNumberOfSharesAvailableForGrant" contextRef="AsOf2023-02-28" format="ixt:numdotdecimal" unitRef="Shares" decimals="0">499,000</ix:nonFraction>, respectively.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_828" name="us-gaap:EarningsPerShareTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true" continuedAt="cont_cc52b1"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>11. NET INCOME (LOSS) PER SHARE</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Basic net income (loss) per share is determined using the weighted average number of common shares outstanding during the period. Diluted net income (loss) per share is determined using the weighted average number of common shares and potential common shares (representing the hypothetical number of incremental shares issuable under the assumed exercise of outstanding stock options, and vesting of outstanding RSUs and ESPP shares) during the period using the treasury stock method. The calculation of dilutive shares outstanding excludes securities that would have an antidilutive effect on net income (loss) per share.</p></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">17</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><ix:continuation id="cont_cc52b1"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The following table presents the computation of basic and diluted net income (loss) per share:&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_849" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands, except per share data)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Numerator:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Net income (loss)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_517" name="us-gaap:NetIncomeLoss" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" sign="-" scale="3">1,471</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_516" name="us-gaap:NetIncomeLoss" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">4,132</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_504" name="us-gaap:NetIncomeLoss" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">9,292</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_515" name="us-gaap:NetIncomeLoss" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">8,446</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Denominator:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Basic weighted average shares outstanding</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_522" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">28,866</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_506" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">27,893</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_505" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">28,773</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_523" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">27,571</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Dilutive effect of common equivalent shares outstanding</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_508" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">1,480</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_507" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">897</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_524" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">1,509</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Diluted weighted average shares outstanding</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_520" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">28,866</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_510" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">29,373</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_509" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">29,670</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_525" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">29,080</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Net income per share - Basic</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_518" name="us-gaap:EarningsPerShareBasic" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF" sign="-">0.05</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_512" name="us-gaap:EarningsPerShareBasic" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">0.15</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_511" name="us-gaap:EarningsPerShareBasic" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">0.32</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_526" name="us-gaap:EarningsPerShareBasic" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">0.31</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Net income per share - Diluted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(<ix:nonFraction id="fid_519" name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF" sign="-">0.05</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_514" name="us-gaap:EarningsPerShareDiluted" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">0.14</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_513" name="us-gaap:EarningsPerShareDiluted" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">0.31</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_527" name="us-gaap:EarningsPerShareDiluted" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="USDPShares" decimals="INF">0.29</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Antidilutive employee share-based award shares, excluded</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_528" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2023-12-01to2024-02-29" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">1,203</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_530" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2022-12-01to2023-02-28" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">15</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_529" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2023-06-01to2024-02-29" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">71</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_531" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" contextRef="From2022-06-01to2023-02-28" format="ixt:numdotdecimal" unitRef="Shares" decimals="-3" scale="3">15</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric></ix:continuation><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_829" name="us-gaap:SegmentReportingDisclosureTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>12. SEGMENT AND CONCENTRATION INFORMATION</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Operating segments are defined as components of an enterprise about which separate financial information is available that is evaluated regularly by the chief operating decision maker, or group, in deciding how to allocate resources and in assessing performance.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company&#8217;s chief operating decision maker, the chief executive officer, reviews discrete financial information presented on a consolidated basis for purposes of regularly making operating decisions and assessing financial performance. Accordingly, the Company considers itself to be in one operating segment.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Long-lived assets, net by geographic area are as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><ix:nonNumeric id="fid_850" name="us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock" contextRef="From2023-06-01to2024-02-29" escape="true"><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>May 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">United States</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_534" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-02-29_country_US" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,015</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_535" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-05-31_country_US" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,713</ix:nonFraction></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">International</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_536" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-02-29_aehr_InternationalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">135</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_537" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-05-31_aehr_InternationalMember" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">46</ix:nonFraction></td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total long-lived assets, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_532" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2024-02-29" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">3,150</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"><ix:nonFraction id="fid_533" name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="AsOf2023-05-31" format="ixt:numdotdecimal" unitRef="USD" decimals="-3" scale="3">2,759</ix:nonFraction></td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table></ix:nonNumeric></ix:nonNumeric><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">18</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span class="atag" style="display: inline" id="i2"><strong>Item 2. Management&#8217;s Discussion and Analysis of Financial Condition and Results</strong> <strong>of Operations</strong></span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The following discussion of our financial condition and results of operations contains forward-looking statements within the meaning of Section 27A of the Securities Act of 1933 and Section 21E of the Securities Exchange Act of 1934. All statements other than statements of historical fact may be forward-looking statements. In some cases, you can identify forward-looking statements by terminology such as &#8220;may,&#8221; &#8220;could,&#8221; &#8220;should,&#8221; &#8220;expect,&#8221; &#8220;plan,&#8221; &#8220;anticipate,&#8221; &#8220;believe,&#8221; &#8220;estimate,&#8221; &#8220;predict,&#8221; &#8220;potential&#8221;, &#8220;target&#8221; or &#8220;continue,&#8221; the negative effect of terms like these or other similar expressions. Any statement concerning future financial performance (including future revenues, earnings or growth rates), ongoing business strategies or prospects, and possible actions taken by us or our subsidiaries, which may be provided by us are also forward-looking statements. These forward-looking statements are only predictions. Forward-looking statements are based on current expectations and projections about future events and are inherently subject to a variety of risks and uncertainties, many of which are beyond our control, which could cause actual results to differ materially from those anticipated or projected. All forward-looking statements included in this document are based on information available to us on the date of filing and we further caution investors that our business and financial performance are subject to substantial risks and uncertainties. We assume no obligation to update any such forward-looking statements. In evaluating these statements, you should specifically consider various factors, including the risk factors set forth&#160;in Item 1. &#8220;Business&#8221; and Item 7. &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations&#8221; in our Annual Report on Form 10-K for the year ended May 31, 2023, filed with the Securities and Exchange Commission on August 28, 2023. All references to &#8220;we&#8221;, &#8220;us&#8221;, &#8220;our&#8221;, &#8220;Aehr Test&#8221;, &#8220;Aehr Test Systems&#8221; or the &#8220;Company&#8221; refer to Aehr Test Systems.&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Overview</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">We are a leading provider of test solutions for testing, burning-in, and stabilizing semiconductor devices in wafer level, singulated die, and package part form, and have installed thousands of systems worldwide. Increasing quality, reliability, safety, and security needs of semiconductors used across multiple applications, including electric vehicles, electric vehicle charging infrastructure, solar and wind power, computing, data and telecommunications infrastructure, and solid-state memory and storage, are driving additional test requirements, incremental capacity needs, and new opportunities for our test products and solutions.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">We have developed and introduced several innovative products including the FOX-P family of test and burn-in systems and FOX WaferPak Aligner, FOX WaferPak Contactor, FOX DiePak Carrier and FOX DiePak Loader. The FOX-XP and FOX-NP systems are full wafer contact and singulated die/module test and burn-in systems that can test, burn-in, and stabilize a wide range of devices such as leading-edge silicon carbide-based and other power semiconductors, 2D and 3D sensors used in mobile phones, tablets, and other computing devices, memory semiconductors, processors, microcontrollers, systems-on-a-chip, and photonics and integrated optical devices. The FOX-CP system is a low-cost single-wafer compact test solution for logic, memory and photonic devices and the newest addition to the FOX-P product family. The FOX WaferPak Contactor contains a unique full wafer contactor capable of testing wafers up to 300mm that enables Integrated Circuit manufacturers to perform test, burn-in, and stabilization of full wafers on the FOX-P systems. The FOX DiePak Carrier allows testing, burning in, and stabilization of singulated bare die and modules up to 1,024 devices in parallel per DiePak on the FOX-NP and FOX-XP systems up to nine DiePaks at a time.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Our net revenue consists primarily of sales of FOX-P systems, WaferPak Aligners and DiePak Loaders, WaferPak contactors, DiePak carriers, test fixtures, upgrades and spare parts, service contracts revenues, and non-recurring engineering charges. Our selling arrangements may include contractual customer acceptance provisions, which are mostly deemed perfunctory or inconsequential, and installation of the product occurs after shipment, transfer of title and risk of loss.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Critical Accounting Estimates</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Our discussion and analysis of our financial condition and results of operations are based upon our Condensed Consolidated Financial Statements, which have been prepared in accordance with accounting principles generally accepted in the United States of America. The preparation of these Condensed Consolidated Financial Statements requires us to make estimates and judgments that affect the reported amounts of assets, liabilities, revenues and expenses, and related disclosure of contingent assets and liabilities. On an ongoing basis, we evaluate our estimates, assumptions and judgments, including those related to customer programs and incentives, product returns, credit losses, inventories, income taxes, warranty obligations, and long-term service contracts. Our estimates are derived from historical experience and on various other assumptions that are believed to be reasonable under the circumstances. Those results form the basis for making judgments about the carrying values of assets and liabilities that are not readily apparent from other sources. Actual results may differ from these estimates under different assumptions or conditions. For a discussion of the critical accounting policies, see &#8220;Item 7. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations &#8211; Critical Accounting Policies and Estimates&#8221; in our Annual Report on Form 10-K for the fiscal year ended May 31, 2023.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">There have been no material changes to our critical accounting policies and estimates during the three and nine months ended February 29, 2024 compared to those discussed in our Annual Report on Form 10-K for the fiscal year ended May 31, 2023.&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Results of Operations</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">19</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Discussion of Results of Operations for the Three and Nine Months Ended February 29, 2024 compared to the Three and Nine Months Ended February 28, 2023</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Revenues </em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>Revenue by Category</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td/><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"/><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Percent</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Percent</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(Dollars in thousands)</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Change</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Change</strong></p></td><td style="PADDING-BOTTOM: 1px;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Products</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;">$</td><td style="width:9%;vertical-align:bottom;text-align:right;">6,730</td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;">$</td><td style="width:9%;vertical-align:bottom;text-align:right;">16,120</td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">(58%)</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;">$</td><td style="width:9%;vertical-align:bottom;text-align:right;">45,924</td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;">$</td><td style="width:9%;vertical-align:bottom;text-align:right;">39,715</td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:9%;vertical-align:bottom;text-align:right;">16</td><td style="width:1%;vertical-align:bottom;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Services</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:right;">833</td><td style="PADDING-BOTTOM: 1px;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:right;">1,086</td><td style="PADDING-BOTTOM: 1px;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">(23%)</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:right;">3,694</td><td style="PADDING-BOTTOM: 1px;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:right;">2,977</td><td style="PADDING-BOTTOM: 1px;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;text-align:right;">24</td><td style="vertical-align:bottom;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total revenues</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;vertical-align:bottom;">$</td><td style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">7,563</td><td style="PADDING-BOTTOM: 3px;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;vertical-align:bottom;">$</td><td style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">17,206</td><td style="PADDING-BOTTOM: 3px;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">(56%)</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;vertical-align:bottom;">$</td><td style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">49,618</td><td style="PADDING-BOTTOM: 3px;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;vertical-align:bottom;">$</td><td style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">42,692</td><td style="PADDING-BOTTOM: 3px;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;text-align:right;">16</td><td style="vertical-align:bottom;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><em>Products as a percentage of total revenues </em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><em>89.0</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>%</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><em>93.7</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>%</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><em>92.6</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>%</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><em>93.0</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>%</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><em>Services as a percentage of total revenues</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><em>11.0</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>%</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><em>6.3</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>%</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><em>7.4</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>%</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><em>7.0</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>%</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Revenue decreased to $7.6 million for the three months ended February 29, 2024 from $17.2 million for the three months ended February 28, 2023, driven by a decrease in shipments for our products and services due to the recent overall softness in the demand for electric vehicles. Our systems revenue decreased by $7.8 million, our contactors revenue decreased by $1.5 million, and our services revenue decreased by $0.3 million.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Revenue increased to $49.6 million for the nine months ended February 29, 2024 from $42.7 million for the nine months ended February 28, 2023, &#160;primarily driven by strong sales in contactors.&#160; Our contactors revenue increased by $11.8 million, and our services revenue increased by $0.7 million. The increase was partially offset by a decrease in systems revenue of $5.6 million.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>Revenue by Geography</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Percent</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Percent</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(Dollars in thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Change</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Change</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Asia</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,167</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">14,849</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">(65%)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">43,320</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">34,873</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">24</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">United States</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">1,640</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">2,343</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">(30%)</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">3,105</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">7,761</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">(60</p></td><td style="vertical-align:bottom;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%)</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Europe</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:right;">756</td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:right;">14</td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">N.M.</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:right;">3,193</td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:right;">58</td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="3"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">N.M.</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total revenues</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">7,563</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">17,206</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">(56%)</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">49,618</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">42,692</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">16</td><td style="vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>Asia as a percentage of total revenues</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><em>68.3</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>%</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><em>86.3</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>%</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><em>87.3</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>%</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><em>81.7</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>%</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><em>United States as a percentage of total revenues</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><em>21.7</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>%</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><em>13.6</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>%</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><em>6.3</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>%</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><em>18.2</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>%</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><em>Europe as a percentage of total revenues</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><em>10.0</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>%</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><em>0.1</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>%</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><em>6.4</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>%</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><em>0.1</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>%</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">N.M.-Not meaningful</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On a geographic basis, revenues represent products that were shipped to or services that were performed at our customer locations. For the three months ended February 29, 2024 compared to the three months ended February 28, 2023, revenue in Asia and United States decreased, driven by fewer shipments to our customers in Asia and United States due to the recent overall softness in the demand for electric vehicles, partially offset by the increase in revenue from customers in Europe. For the nine months ended February 29, 2024, international revenues increased, compared to the same period in the prior year, primarily as a result of the more shipments to our customers in Asia and Europe, partially offset by the decline in revenue from a customer in the United States.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Gross Margin</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">20</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong><span style="text-decoration:underline">Gross Profit by Category</span></strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Percent</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Percent</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(Dollars in thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Change</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Change</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Products</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,782</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">8,392</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">(67%)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">22,350</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">19,976</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">12</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Services</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:right;">374</td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:right;">483</td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">(23%)</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:right;">1,745</td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:right;">1,291</td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">35</td><td style="vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Gross profit</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">3,156</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">8,875</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">(64%)</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">24,095</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;vertical-align:bottom;text-align:right;">21,267</td><td style="PADDING-BOTTOM: 3px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">13</td><td style="vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Gross Margin by Category</strong></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Product</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">41.3</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">52.1</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">48.7</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">50.3</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Services</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">44.9</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">44.5</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">47.2</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">43.4</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Gross margin</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">41.7</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">51.6</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">48.6</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">49.8</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">%</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Gross profit decreased to $3.2 million for the three months ended February 29, 2024 from $8.9 million for the three months ended February 28, 2023. Gross margin decreased to 41.7% for the three months ended February 29, 2024 from 51.6% for the three months ended February 28, 2023. The decrease in gross margin of 9.9 percentage points was primarily due to lower shipments resulting in lower manufacturing efficiencies, an increase in costs from design changes, and higher warranty expenses.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Gross profit increased to $24.1 million for the nine months ended February 29, 2024 from $21.3 million for the nine months ended February 28, 2023. Gross margin decreased to 48.6% for the nine months ended February 29, 2024 from 49.8% for the nine months ended February 28, 2023. The decrease in gross margin of 1.2 percentage points was primarily driven by a slight decrease in products gross margin due to higher costs from design changes and logistics, partially offset by improved services gross margin.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Research and Development</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Percent</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Percent</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(Dollars in thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Change</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Change</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Research and development</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,139</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,832</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">17</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">6,568</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,881</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">35</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">As a percentage of total revenues</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">28.3</td><td style="vertical-align:bottom;white-space: nowrap;">%</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">10.6</td><td style="vertical-align:bottom;white-space: nowrap;">%</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">13.2</td><td style="vertical-align:bottom;white-space: nowrap;">%</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="vertical-align:bottom;text-align:right;">11.4</td><td style="vertical-align:bottom;white-space: nowrap;">%</td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Research and development expenses consist primarily of compensation and benefits for product development personnel, outside development service costs, travel expenses, facilities cost allocations, and stock-based compensation charges. Research and development expenses increased to $2.1 million for the three months ended February 29, 2024, compared to $1.8 million for the three months ended February 28, 2023. The increase of $0.3 million was primarily driven by higher non-recurring engineering services charges, an increase in allocated facility cost and higher employment costs due to an increase in headcount. We anticipate our expenses in research and development will fluctuate in absolute dollars from period to period as a result of the timing of product development projects and revenue generating activity requirements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Research and development expenses increased to $6.6 million for the nine months ended February 29, 2024, compared to $4.9 million for the nine months ended February 28, 2023. The increase of $1.7 million was primarily due to higher non-recurring engineering services charges of $0.7 million, higher employment-related costs of $0.6 million and an increase in allocated facility cost of $0.2 million.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Selling, General and Administrative</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Percent</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Percent</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(Dollars in thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: #000000 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>Change</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Change</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Selling, general and administrative</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">3,063</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">3,250</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">(6%)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">9,990</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">8,650</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">15</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">As a percentage of total revenues</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">40.5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">18.9</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">20.1</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">20.3</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">21</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Selling, general and administrative expenses consist primarily of compensation and benefits for sales, marketing and general and administrative personnel, legal and accounting service costs, marketing communications costs, travel expenses, facilities cost allocations, and stock-based compensation charges. Selling, general and administrative expenses decreased to $3.1 million for the three months ended February 29, 2024, compared to $3.3 million for the three months ended February 28, 2023. The decrease was primarily due to the reversal of a prior period accrual for bonuses based on revenue and profitability levels that are now not anticipated to be met.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Selling, general and administrative expenses increased to $10.0 million for the nine months ended February 29, 2024, compared to $8.7 million for the nine months ended February 28, 2023. The increase of $1.3 million was primarily due to an increase in employment-related cost of $1.1 million and an increase in audit and legal service fees of $0.3 million.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Interest and Other Income (Expense), Net</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Percent</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:6%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Percent</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(Dollars in thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Change</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Change</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Interest income</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">584</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">374</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">56</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">1,796</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">758</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">137</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Other income (expense), net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">(2</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">(18</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">(89</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">%)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">2</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:6%;vertical-align:bottom;text-align:right;">1</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">100</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Interest and other income (expense), net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">582</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">356</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">63</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">1,798</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:6%;vertical-align:bottom;text-align:right;">759</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:6%;vertical-align:bottom;text-align:right;">137</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Interest and other income (expense), net, primarily consists of interest income and foreign currency transaction exchange gains and losses. Interest and other income (expense), net, increased for the three and nine months ended February 29, 2024, compared to the same periods in the prior year, primarily driven by higher interest income earned due to higher average cash and investment balances and higher yields from our investments in money market funds.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Provision for Income Taxes</em></strong>&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="width:9%;"/><td style="width:1%;">&#160;</td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Percent</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Percent</strong></p></td><td>&#160;</td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(Dollars in thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Change</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Change</strong></p></td><td>&#160;</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Provision for income taxes</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">17</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">(59%)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">43</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">49</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">(12%)</p></td><td style="width:1%;">&#160;</td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Income tax expense was not significant due to the available net operating losses and research and development credits carryforwards. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Liquidity and Capital Resources</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Cash, cash equivalents, and restricted cash were $47.7 million as of February 29, 2024, compared to $17.3 million as of February 28, 2023. Short term investments were $0 as of February 29, 2024, compared to $25.6 million of February 28, 2023. We believe that our existing cash resources and anticipated funds from operations will satisfy our cash requirements to fund our operating activities, capital expenditures and other obligations for the next twelve months.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="6"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"/><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;" colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Change</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Operating activities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">532</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,143</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(3,611</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Investing activities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">17,297</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(25,472</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">42,769</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Financing activities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(282</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,138</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(7,420</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Effect of exchange rate changes on cash, cash equivalents and restricted cash</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(20</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(35</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">15</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Net increase in cash, cash equivalents and restricted cash</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">17,527</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(14,226</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">31,753</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr"/></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">22</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong><em>Net Cash Flows Provided by Operating Activities</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Cash flow from operating activities during the nine months ended February 29, 2024 mostly consisted of net income, adjusted for certain non-cash items which primarily consisted of depreciation and amortization, share-based compensation expense and amortization of operating lease right-of-use assets. The $3.6 million decrease in cash flows from operating activities for the nine months ended February 29, 2024, compared to the nine months ended February 28, 2023, was driven primarily by an increase in cash used in inventory production and vendor payments due to anticipated customer demand, and a decrease in cash provided by deferred revenue due to timing of customer deposits and revenue recognition, partially offset by an increase in cash provided by collection of accounts receivable and a higher net income.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Net Cash Flows Provided by (Used in) Investing Activities</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Net cash provided by investing activities increased by $42.8 million for the nine months ended February 29, 2024 compared to the nine months ended February 28, 2023. The increase was primarily due to the maturity of our short-term investments of $18.0 million during the nine months ended February 29, 2024, while the net purchase of short-term investments was $25.3 million during the nine months ended February 28, 2023.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><em>Net Cash Flows Provided by (Used in) Financing Activities</em></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Net cash provided by financing activities decreased by $7.4 million for the nine months ended February 29, 2024, compared to the nine months ended February 28, 2023. During the nine months ended February 28, 2023, net proceeds from the sale of our common stock under our &#8220;At the market&#8221; offering program were $6.9 million compared to no such sales during the same period in the current year. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Off-Balance Sheet Agreements</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">We do not have any off-balance sheet arrangements, investments in special purpose entities or undisclosed borrowings or debt. There have been no material changes in the composition, magnitude or other key characteristics of our contractual obligations or other commitments as disclosed in the Company's Annual Report on Form 10-K for the year ended May 31, 2023.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">23</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><span class="atag" style="display: inline" id="i3"><strong>Item 3. Quantitative and Qualitative Disclosures about Market Risk</strong></span></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">As a smaller reporting company, we are not required to provide the information under this item.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="i4">Item 4. Controls and Procedures</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Evaluation of Disclosure Controls and Procedures</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Our management, with the participation of our chief executive officer, or CEO, and chief financial officer, or CFO, evaluated the effectiveness of our "disclosure controls and procedures" as defined in Exchange Act Rules 13a-15(e) and 15d-15(e) as of February 29, 2024, in connection with the filing of this Quarterly Report on Form 10-Q. Based on that evaluation as of February 29, 2024, our CEO and CFO concluded that our disclosure controls and procedures were effective to ensure that information we are required to disclose in reports that we file or submit under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in rules and forms of the SEC and accumulated and communicated to our management as appropriate to allow timely decisions regarding required disclosures.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>Changes in Internal Control over Financial Reporting</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">There were no changes in the Company's internal control over financial reporting during the three months ended February 29, 2024, that have materially affected, or are reasonably likely to materially affect, the Company's internal control over financial reporting.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">24</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="p2">PART II &#8212; OTHER INFORMATION</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="i1n">Item 1. Legal Proceedings</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">From time to time, we are subject to various claims and legal proceedings that arise in the ordinary course of business. We accrue for losses related to litigation when a potential loss is probable and the loss can be reasonably estimated in accordance with FASB requirements. During the reported period, we were not a party to any material legal proceedings, thus no loss was probable and no amount was accrued as of February 29, 2024.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="i1a">Item 1A. Risk Factors</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Item 1A, &#8220;Risk Factors,&#8221; on pages 10 through 16 of the Company&#8217;s Annual Report on Form 10-K for the year ended May 31, 2023, provides information on the significant risks associated with our business. There have been no subsequent material changes to these risks. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="i2n">Item 2. Unregistered Sales of Equity Securities and Use of Proceeds</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">None.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="i3n">Item 3. Defaults Upon Senior Securities</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">None.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="i4n">Item 4. Mine Safety Disclosures</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Not Applicable.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="i5n">Item 5. Other Information</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">During the fiscal quarter ended February 29, 2024, none of our directors or officers informed us of the adoption or termination of a &#8220;Rule 10b5-1 trading arrangement&#8221; or &#8220;non-Rule 10b5-1 trading arrangement,&#8221; as those terms are defined in Regulation S-K, Item 408(a).</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">25</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong><span class="atag" style="display: inline" id="i6">Item 6. Exhibits</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="BORDER-BOTTOM: #000000 1px solid;width:7%;" colspan="3"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Exhibit Number&#160;</strong></p></td><td style="width:1%;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>&#160;</strong></p></td><td style="BORDER-BOTTOM: #000000 1px solid;vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>Description</strong></p></td></tr><tr style="height:15px"><td colspan="3"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td colspan="3" style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="http://www.sec.gov/Archives/edgar/data/1040470/0000912057-97-020105.txt">3.1(1)</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="http://www.sec.gov/Archives/edgar/data/1040470/0000912057-97-020105.txt">Restated Article of Incorporation of Registrant</a></p></td></tr><tr style="height:15px;background-color:#ffffff"><td colspan="3"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td colspan="3" style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="http://www.sec.gov/Archives/edgar/data/1040470/000165495420009933/aehr_ex31.htm">3.2(2)</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="http://www.sec.gov/Archives/edgar/data/1040470/000165495420009933/aehr_ex31.htm">Amended and Restated Bylaws of the Registrant</a></p></td></tr><tr style="height:15px;background-color:#ffffff"><td colspan="3"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td colspan="3" style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="http://www.sec.gov/Archives/edgar/data/1040470/0000912057-97-024479.txt">4.1(3)</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="http://www.sec.gov/Archives/edgar/data/1040470/0000912057-97-024479.txt">Form of Common Stock certificate</a></p></td></tr><tr style="height:15px;background-color:#ffffff"><td colspan="3"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td colspan="3" style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="aehr_ex3101.htm">31.01</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="aehr_ex3101.htm">Certification of the principal executive officer pursuant to Exchange Act Rules 13a-14(a) and 15d-14(a), as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.&#8224;</a></p></td></tr><tr style="height:15px;background-color:#ffffff"><td colspan="3"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td colspan="3" style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="aehr_ex3102.htm">31.02</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="aehr_ex3102.htm">Certification of the principal financial and accounting officer pursuant to Exchange Act Rules 13a-14(a) and 15d-14(a), as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.&#8224;</a></p></td></tr><tr style="height:15px;background-color:#ffffff"><td colspan="3"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td colspan="3" style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="aehr_ex3201.htm">32.01</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="aehr_ex3201.htm">Certification pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.**</a></p></td></tr><tr style="height:15px;background-color:#ffffff"><td colspan="3"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td colspan="3" style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="aehr_ex3202.htm">32.02</a></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><a href="aehr_ex3202.htm">Certification pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.**</a></p></td></tr><tr style="height:15px;background-color:#ffffff"><td colspan="3"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td colspan="3" style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">101.INS&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">XBRL Instance Document.&#8224;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td colspan="3"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td colspan="3" style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">101.SCH&#160;&#160;&#160;&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">XBRL Taxonomy Extension Schema Document.&#8224;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td colspan="3"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td colspan="3" style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">101.CAL</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">XBRL Taxonomy Extension Calculation Linkbase Document.&#8224;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td colspan="3"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td colspan="3" style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">101.DEF</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">XBRL Taxonomy Extension Definition Linkbase Document.&#8224;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td colspan="3"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td colspan="3" style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">101.LAB&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">XBRL Taxonomy Extension Label Linkbase Document.&#8224;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td colspan="3"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td colspan="3" style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">101.PRE&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">XBRL Taxonomy Extension Presentation Linkbase Document.&#8224;&#160;</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160; </p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:5%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">1</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;Incorporated by reference to the same-numbered exhibit previously filed with the Company&#8217;s Registration Statement on Form S-1 filed June 11, 1997 (File No. 333-28987).</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">2</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Incorporated by reference to Exhibit 3.1 previously filed with the Company&#8217;s Current Report on Form 8-K filed September 9, 2020 (File No. 000-22893).</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">3</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Incorporated by reference to the same-numbered exhibit previously filed with Amendment No.1 to the Company&#8217;s Registration Statement on Form S-1 filed July 17, 1997 (File No. 333-28987).</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#8224;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Filed herewith.</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;**</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">Furnished, and not filed.</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">26</td></tr><tr style="height:15px"><td><p style="page-break-after: always"></p></td></tr><tr style="height:15px"><td><em><a href="#toc">Table of Contents</a></em></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong><span class="atag" style="display: inline" id="sin">SIGNATURES</span></strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 27pt; 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-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2" style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><strong>AEHR TEST SYSTEMS</strong>&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="width:50%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:3%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:35%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:12%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Date:&#160; April 10, 2024</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">By:</p></td><td style="BORDER-BOTTOM: 1px solid;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">/s/&#160;GAYN ERICKSON</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Gayn Erickson</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">President and Chief Executive Officer</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>(Principal Executive Officer)</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td style="width:50%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Date: April 10, 2024</p></td><td style="width:3%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">By:</p></td><td style="BORDER-BOTTOM: 1px solid;width:35%;vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">/s/&#160;CHRIS P. SIU</p></td><td style="width:12%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Chris P. Siu</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px">Executive Vice President of Finance, </p><p style="font-size:10pt;font-family:times new roman;margin:0px">Chief Financial Officer and Secretary</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px"><em>(Principal Financial and Accounting Officer)</em></p></td><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table style="border-spacing:0;font:10pt times new roman;width:100%" cellpadding="0"><tbody><tr style="height:15px"><td class="hpbhr">&#160;</td></tr><tr style="height:15px"><td style="BORDER-BOTTOM: black 1px solid; TEXT-INDENT: 0px;text-align:center;">27</td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.01
<SEQUENCE>2
<FILENAME>aehr_ex3101.htm
<DESCRIPTION>CERTIFICATIONS
<TEXT>
<html><head><title>aehr_ex3101.htm</title><!--Document created using EDGARMaster--></head><body style="TEXT-ALIGN: justify; FONT: 10pt times new roman"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>EXHIBIT 31.</strong><strong>01</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>CERTIFICATIONS</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;I, Gayn Erickson, certify that:</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;vertical-align:top;"> <p style="margin:0px">1.</p></td> <td style="vertical-align:top;"> <p style="margin:0px">I have reviewed this quarterly report on Form 10-Q of Aehr Test Systems;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td style="vertical-align:top;"> <p style="margin:0px">2.</p></td> <td style="vertical-align:top;"> <p style="margin:0px">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></td></tr> <tr style="height:15px"> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td style="vertical-align:top;"> <p style="margin:0px">3.</p></td> <td style="vertical-align:top;"> <p style="margin:0px">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></td></tr> <tr style="height:15px"> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td style="vertical-align:top;"> <p style="margin:0px">4.</p></td> <td style="vertical-align:top;"> <p style="text-align:justify;margin:0px">The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;text-align:justify;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:4%;vertical-align:top;"> <p style="margin:0px">(a)</p></td> <td style="vertical-align:top;"> <p style="margin:0px">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></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px">(b)</p></td> <td style="vertical-align:top;"> <p style="margin:0px">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></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px">(c)</p></td> <td style="vertical-align:top;"> <p style="margin:0px">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px">(d)</p></td> <td style="vertical-align:top;"> <p style="margin:0px">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;vertical-align:top;"> <p style="margin:0px">5.</p></td> <td style="vertical-align:top;"> <p style="text-align:justify;margin:0px">The registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of registrant&#8217;s board of directors (or persons performing the equivalent functions):</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 0.25in; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:4%;vertical-align:top;"> <p style="margin:0px">(a)</p></td> <td style="vertical-align:top;"> <p style="margin:0px">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information; and</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px">(b)</p></td> <td style="vertical-align:top;"> <p style="margin:0px">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:50%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:3%;vertical-align:top;"> <p style="text-align:justify;margin:0px">By:</p></td> <td style="BORDER-BOTTOM: 1px solid;width:35%;vertical-align:top;"> <p style="text-align:justify;margin:0px">&nbsp;<em>/s/ </em>GAYN ERICKSON</p></td> <td style="width:12%;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:bottom;"> <p style="margin:0px">Gayn Erickson</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px">President and Chief Executive Officer&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px"><em>(Principal Executive Officer)</em>&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Date: April 10, 2024</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p><body>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.02
<SEQUENCE>3
<FILENAME>aehr_ex3102.htm
<DESCRIPTION>CERTIFICATIONS
<TEXT>
<html><head><title>aehr_ex3102.htm</title><!--Document created using EDGARMaster--></head><body style="TEXT-ALIGN: justify; FONT: 10pt times new roman"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>EXHIBIT 31.02</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>CERTIFICATIONS</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">I, Chris P. Siu, certify that:</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;vertical-align:top;"> <p style="margin:0px">1.</p></td> <td style="vertical-align:top;"> <p style="margin:0px">I have reviewed this quarterly report on Form 10-Q of Aehr Test Systems;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td style="vertical-align:top;"> <p style="margin:0px">2.</p></td> <td style="vertical-align:top;"> <p style="text-align:justify;margin:0px">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></td></tr> <tr style="height:15px"> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td style="vertical-align:top;"> <p style="margin:0px">3.</p></td> <td style="vertical-align:top;"> <p style="text-align:justify;margin:0px">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></td></tr> <tr style="height:15px"> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td style="vertical-align:top;"> <p style="margin:0px">4.</p></td> <td style="vertical-align:top;"> <p style="text-align:justify;margin:0px">The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;text-align:justify;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:4%;vertical-align:top;"> <p style="margin:0px">(a)</p></td> <td style="vertical-align:top;"> <p style="margin:0px">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></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px">(b)</p></td> <td style="vertical-align:top;"> <p style="margin:0px">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></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px">(c)</p></td> <td style="vertical-align:top;"> <p style="margin:0px">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px">(d)</p></td> <td style="vertical-align:top;"> <p style="margin:0px">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;vertical-align:top;"> <p style="margin:0px">5.</p></td> <td style="vertical-align:top;"> <p style="text-align:justify;margin:0px">The registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of registrant&#8217;s board of directors (or persons performing the equivalent functions):</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:4%;vertical-align:top;"> <p style="margin:0px">(a)</p></td> <td style="vertical-align:top;"> <p style="margin:0px">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information; and</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px">(b)</p></td> <td style="vertical-align:top;"> <p style="margin:0px">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:50%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:3%;vertical-align:top;"> <p style="text-align:justify;margin:0px">By:</p></td> <td style="BORDER-BOTTOM: 1px solid;width:35%;vertical-align:top;"> <p style="text-align:justify;margin:0px">/s/ CHRIS P. SIU</p></td> <td style="width:12%;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:bottom;"> <p style="margin:0px">Chris P. Siu</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px">Executive Vice President of Finance, </p> <p style="margin:0px">Chief Financial Officer and Secretary</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px"><em>(Principal Financial and Accounting Officer)</em></p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Date: April 10, 2024</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p><body>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.01
<SEQUENCE>4
<FILENAME>aehr_ex3201.htm
<DESCRIPTION>CERTIFICATIONS
<TEXT>
<html><head><title>aehr_ex3201.htm</title><!--Document created using EDGARMaster--></head><body style="TEXT-ALIGN: justify; FONT: 10pt times new roman"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>&nbsp;EXHIBIT 32.01</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>CERTIFICATION PURSUANT TO</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>18 U.S.C. SECTION 1350,</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>AS ADOPTED PURSUANT TO</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; TEXT-INDENT: 45px; text-align:justify;">In connection with the Quarterly Report of Aehr Test Systems (the &#8220;Company&#8221;) on Form 10-Q for the quarter ended February 29, 2024, as filed with the Securities and Exchange Commission on April 10, 2024 (the &#8220;Report&#8221;), I, Gayn Erickson, President and Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to my knowledge:</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;vertical-align:top;"> <p style="margin:0px">(1)</p></td> <td style="vertical-align:top;"> <p style="margin:0px">The Report fully complies with the requirements of section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td style="vertical-align:top;"> <p style="margin:0px">(2)</p></td> <td style="vertical-align:top;"> <p style="margin:0px">The information contained in the Report fairly presents, in all material respects, the financial condition and result of operations of the Company.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:50%;"> <p style="margin:0px">&nbsp;</p></td> <td style="width:3%;vertical-align:top;"> <p style="text-align:justify;margin:0px">By:</p></td> <td style="BORDER-BOTTOM: 1px solid;width:35%;vertical-align:top;"> <p style="text-align:justify;margin:0px">&nbsp;<em>/s/ </em>GAYN ERICKSON</p></td> <td style="width:12%;"> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:bottom;"> <p style="margin:0px">Gayn Erickson</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px">President and Chief Executive Officer&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="margin:0px">&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="margin:0px"><em>(Principal Executive Officer)</em>&nbsp;</p></td> <td> <p style="margin:0px">&nbsp;</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Date: April 10, 2024</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p><body>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.02
<SEQUENCE>5
<FILENAME>aehr_ex3202.htm
<DESCRIPTION>CERTIFICATIONS
<TEXT>
<html><head><title>aehr_ex3202.htm</title><!--Document created using EDGARMaster--></head><body style="TEXT-ALIGN: justify; FONT: 10pt times new roman"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"><strong>EXHIBIT 32.02</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>CERTIFICATION PURSUANT TO</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>18 U.S.C. SECTION 1350,</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>AS ADOPTED PURSUANT TO</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:center;"><strong>SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</strong></p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In connection with the Quarterly Report of Aehr Test Systems (the &#8220;Company&#8221;) on Form 10-Q for the quarter ended February 29, 2024 as filed with the Securities and Exchange Commission on April 10, 2024 (the &#8220;Report&#8221;), I, Chris P. Siu, Executive Vice President of Finance, Chief Financial Officer and Secretary of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to my knowledge:</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <table style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:4%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">(1)</p></td> <td style="vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">The Report fully complies with the requirements of section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px;text-indent:30px">&nbsp;</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td style="vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">(2)</p></td> <td style="vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">The information contained in the Report fairly presents, in all material respects, the financial condition and result of operations of the Company.</p></td></tr></table> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p> <table style="border-spacing:0;font-size:10pt;width:100%" cellpadding="0"> <tr style="height:15px"> <td style="width:50%;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="width:3%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;text-align:justify;margin:0px">By:</p></td> <td style="BORDER-BOTTOM: 1px solid;width:35%;vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;text-align:justify;margin:0px">/s/ CHRIS P. SIU</p></td> <td style="width:12%;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="vertical-align:bottom;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">Chris P. Siu</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px">Executive Vice President of Finance, </p> <p style="font-size:10pt;font-family:times new roman;margin:0px">Chief Financial Officer and Secretary</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr> <tr style="height:15px"> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td> <td style="vertical-align:top;"> <p style="font-size:10pt;font-family:times new roman;margin:0px"><em>(Principal Financial and Accounting Officer)</em></p></td> <td> <p style="font-size:10pt;font-family:times new roman;margin:0px">&nbsp;</p></td></tr></table> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Date: April 10, 2024&nbsp;</p> <p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&nbsp;</p><body>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>6
<FILENAME>aehr-20240229.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!--XBRL Document Created with XBRLMaster-->
<!--Version: 2.3.08-->
<!--Based on XBRL 2.1-->
<!--Date of creation: 04/08/2024-->
<!--Software architectural design and coding: A'c Dharmapremananda Avt.-->
<!--Copyright (c) 2024 I-NET Business Solutions, Inc. All Rights Reserved.-->
<schema xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:currency="http://xbrl.sec.gov/currency/2023" xmlns:us-gaap-att="http://fasb.org/us-gaap/attributes" xmlns:sic="http://xbrl.sec.gov/sic/2023" xmlns:exch="http://xbrl.sec.gov/exch/2023" xmlns:invest="http://xbrl.sec.gov/invest/2013-01-31" xmlns:negated="http://www.xbrl.org/2009/role/negated" xmlns:naics="http://xbrl.sec.gov/naics/2023" xmlns:us-types="http://fasb.org/us-types/2023" xmlns:stpr="http://xbrl.sec.gov/stpr/2023" 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:country="http://xbrl.sec.gov/country/2023" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:srt-types="http://fasb.org/srt-types/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:srt-roles="http://fasb.org/srt-roles/2023" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:srt="http://fasb.org/srt/2023" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:aehr="http://aehr.com/20240229" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://aehr.com/20240229">
  <annotation>
    <appinfo>
      <link:roleType roleURI="http://aehr.com/role/Cover" id="Cover">
        <link:definition>000001 - 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://aehr.com/role/CondensedConsolidatedBalanceSheets" id="CondensedConsolidatedBalanceSheets">
        <link:definition>000002 - 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://aehr.com/role/CondensedConsolidatedBalanceSheetsParenthetical" id="CondensedConsolidatedBalanceSheetsParenthetical">
        <link:definition>000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</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://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited" id="CondensedConsolidatedStatementsOfOperationsUnaudited">
        <link:definition>000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited)</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://aehr.com/role/CondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited" id="CondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited">
        <link:definition>000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Unaudited)</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://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited" id="CondensedConsolidatedStatementsOfShareholdersEquityUnaudited">
        <link:definition>000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited)</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://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited" id="CondensedConsolidatedStatementsOfCashFlowsUnaudited">
        <link:definition>000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)</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://aehr.com/role/OrganizationAndSignificantAccountingPolicies" id="OrganizationAndSignificantAccountingPolicies">
        <link:definition>000008 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES</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://aehr.com/role/FairValueOfFinancialInstruments" id="FairValueOfFinancialInstruments">
        <link:definition>000009 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS</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://aehr.com/role/BalanceSheetInformation" id="BalanceSheetInformation">
        <link:definition>000010 - Disclosure - BALANCE SHEET INFORMATION</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://aehr.com/role/IncomeTax" id="IncomeTax">
        <link:definition>000011 - Disclosure - INCOME TAX</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://aehr.com/role/BorrowingArrangements" id="BorrowingArrangements">
        <link:definition>000012 - Disclosure - BORROWING ARRANGEMENTS</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://aehr.com/role/CommitmentsAndContingencies" id="CommitmentsAndContingencies">
        <link:definition>000013 - Disclosure - COMMITMENTS AND CONTINGENCIES</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://aehr.com/role/ShareholdersEquity" id="ShareholdersEquity">
        <link:definition>000014 - Disclosure - 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://aehr.com/role/AccumulatedOtherComprehensiveLoss" id="AccumulatedOtherComprehensiveLoss">
        <link:definition>000015 - Disclosure - ACCUMULATED OTHER COMPREHENSIVE LOSS</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://aehr.com/role/REVENUE" id="REVENUE">
        <link:definition>000016 - Disclosure - REVENUE</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://aehr.com/role/StockBasedCompensation" id="StockBasedCompensation">
        <link:definition>000017 - Disclosure - STOCK-BASED COMPENSATION</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://aehr.com/role/NetIncomeLossPerShare" id="NetIncomeLossPerShare">
        <link:definition>000018 - Disclosure - NET INCOME (LOSS) PER SHARE</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://aehr.com/role/SegmentAndConcentrationInformation" id="SegmentAndConcentrationInformation">
        <link:definition>000019 - Disclosure - SEGMENT AND CONCENTRATION INFORMATION</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://aehr.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" id="OrganizationAndSignificantAccountingPoliciesPolicies">
        <link:definition>000020 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Policies)</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://aehr.com/role/OrganizationAndSignificantAccountingPoliciesTables" id="OrganizationAndSignificantAccountingPoliciesTables">
        <link:definition>000021 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (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://aehr.com/role/FairValueOfFinancialInstrumentsTables" id="FairValueOfFinancialInstrumentsTables">
        <link:definition>000022 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (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://aehr.com/role/BalanceSheetInformationTables" id="BalanceSheetInformationTables">
        <link:definition>000023 - Disclosure - BALANCE SHEET INFORMATION (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://aehr.com/role/AccumulatedOtherComprehensiveLossTables" id="AccumulatedOtherComprehensiveLossTables">
        <link:definition>000024 - Disclosure - ACCUMULATED OTHER COMPREHENSIVE LOSS (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://aehr.com/role/RevenueTables" id="RevenueTables">
        <link:definition>000025 - Disclosure - REVENUE (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://aehr.com/role/StockbasedCompensationTables" id="StockbasedCompensationTables">
        <link:definition>000026 - Disclosure - STOCKBASED COMPENSATION (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://aehr.com/role/NetIncomeLossPerShareTables" id="NetIncomeLossPerShareTables">
        <link:definition>000027 - Disclosure - NET INCOME (LOSS) PER SHARE (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://aehr.com/role/SegmentAndConcentrationInformationTables" id="SegmentAndConcentrationInformationTables">
        <link:definition>000028 - Disclosure - SEGMENT AND CONCENTRATION INFORMATION (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://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetails" id="OrganizationAndSignificantAccountingPoliciesDetails">
        <link:definition>000029 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (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://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" id="OrganizationAndSignificantAccountingPoliciesDetailsNarrative">
        <link:definition>000030 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (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:roleType roleURI="http://aehr.com/role/FairValueOfFinancialInstrumentsDetails" id="FairValueOfFinancialInstrumentsDetails">
        <link:definition>000031 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (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://aehr.com/role/FairValueOfFinancialInstrumentsDetails1" id="FairValueOfFinancialInstrumentsDetails1">
        <link:definition>000032 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (Details 1)</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://aehr.com/role/FairValueOfFinancialInstrumentsDetailsNarrative" id="FairValueOfFinancialInstrumentsDetailsNarrative">
        <link:definition>000033 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (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:roleType roleURI="http://aehr.com/role/BalanceSheetInformationDetails" id="BalanceSheetInformationDetails">
        <link:definition>000034 - Disclosure - BALANCE SHEET INFORMATION (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://aehr.com/role/BalanceSheetInformationDetails1" id="BalanceSheetInformationDetails1">
        <link:definition>000035 - Disclosure - BALANCE SHEET INFORMATION (Details 1)</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://aehr.com/role/BalanceSheetInformationDetails2" id="BalanceSheetInformationDetails2">
        <link:definition>000036 - Disclosure - BALANCE SHEET INFORMATION (Details 2)</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://aehr.com/role/BalanceSheetInformationDetails3" id="BalanceSheetInformationDetails3">
        <link:definition>000037 - Disclosure - BALANCE SHEET INFORMATION (Details 3)</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://aehr.com/role/IncomeTaxesDetailsNarrative" id="IncomeTaxesDetailsNarrative">
        <link:definition>000038 - Disclosure - INCOME TAXES (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:roleType roleURI="http://aehr.com/role/BorrowingArrangementsDetailsNarrative" id="BorrowingArrangementsDetailsNarrative">
        <link:definition>000039 - Disclosure - BORROWING ARRANGEMENTS (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:roleType roleURI="http://aehr.com/role/ShareholdersEquityDetailsNarrative" id="ShareholdersEquityDetailsNarrative">
        <link:definition>000040 - Disclosure - SHAREHOLDERS EQUITY (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:roleType roleURI="http://aehr.com/role/AccumulatedOtherComprehensiveLossDetails" id="AccumulatedOtherComprehensiveLossDetails">
        <link:definition>000041 - Disclosure - ACCUMULATED OTHER COMPREHENSIVE LOSS (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://aehr.com/role/RevenueDetails" id="RevenueDetails">
        <link:definition>000042 - Disclosure - REVENUE (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://aehr.com/role/RevenueDetails1" id="RevenueDetails1">
        <link:definition>000043 - Disclosure - REVENUE (Details 1)</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://aehr.com/role/RevenueDetails2" id="RevenueDetails2">
        <link:definition>000044 - Disclosure - REVENUE (Details 2)</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://aehr.com/role/RevenueDetailsNarrative" id="RevenueDetailsNarrative">
        <link:definition>000045 - Disclosure - REVENUE (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:roleType roleURI="http://aehr.com/role/StockBasedCompensationDetails" id="StockBasedCompensationDetails">
        <link:definition>000046 - Disclosure - STOCK-BASED COMPENSATION (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://aehr.com/role/StockBasedCompensationDetails1" id="StockBasedCompensationDetails1">
        <link:definition>000047 - Disclosure - STOCK-BASED COMPENSATION (Details 1)</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://aehr.com/role/StockBasedCompensationDetailsNarrative" id="StockBasedCompensationDetailsNarrative">
        <link:definition>000048 - Disclosure - STOCK-BASED COMPENSATION (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:roleType roleURI="http://aehr.com/role/NetIncomeLossPerShareDetails" id="NetIncomeLossPerShareDetails">
        <link:definition>000049 - Disclosure - NET INCOME (LOSS) PER SHARE (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://aehr.com/role/SegmentAndConcentrationInformationDetails" id="SegmentAndConcentrationInformationDetails">
        <link:definition>000050 - Disclosure - SEGMENT AND CONCENTRATION INFORMATION (Details)</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="aehr-20240229_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="aehr-20240229_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="aehr-20240229_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="aehr-20240229_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
    </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.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
  <import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd" />
  <import namespace="http://xbrl.sec.gov/currency/2023" schemaLocation="https://xbrl.sec.gov/currency/2023/currency-2023.xsd" />
  <import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd" />
  <import namespace="http://www.xbrl.org/dtr/type/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd" />
  <import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd" />
  <import namespace="http://xbrl.sec.gov/exch/2023" schemaLocation="https://xbrl.sec.gov/exch/2023/exch-2023.xsd" />
  <import namespace="http://www.xbrl.org/2009/arcrole/fact-explanatoryFact" schemaLocation="http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd" />
  <import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
  <import namespace="http://www.xbrl.org/2009/role/net" schemaLocation="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd" />
  <import namespace="http://xbrl.sec.gov/naics/2023" schemaLocation="https://xbrl.sec.gov/naics/2023/naics-2023.xsd" />
  <import namespace="http://xbrl.sec.gov/sic/2023" schemaLocation="https://xbrl.sec.gov/sic/2023/sic-2023.xsd" />
  <import namespace="http://fasb.org/srt-roles/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd" />
  <import namespace="http://fasb.org/srt-types/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd" />
  <import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd" />
  <import namespace="http://xbrl.sec.gov/stpr/2023" schemaLocation="https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd" />
  <import namespace="http://fasb.org/us-roles/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd" />
  <import namespace="http://fasb.org/us-types/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd" />
  <import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd" />
  <import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd" />
  <element id="aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsShares" name="ProceedsFromPublicOfferingNetOfIssuanceCostsShares" nillable="true" xbrli:periodType="duration" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
  <element id="aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsAmount" name="ProceedsFromPublicOfferingNetOfIssuanceCostsAmount" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="aehr_IssuanceCostOfCommonStockOffering" name="IssuanceCostOfCommonStockOffering" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="aehr_RecentAccountingPronouncementsNotYetAdoptedPolicyTextBlock" name="RecentAccountingPronouncementsNotYetAdoptedPolicyTextBlock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="aehr_ScheduleOfFinancialInstrumentsTextblock" name="ScheduleOfFinancialInstrumentsTextblock" nillable="true" xbrli:periodType="duration" type="nonnum:textBlockItemType" substitutionGroup="xbrli:item" />
  <element id="aehr_ConcentrationRiskPercentage" name="ConcentrationRiskPercentage" nillable="true" xbrli:periodType="duration" type="num:percentItemType" substitutionGroup="xbrli:item" />
  <element id="aehr_FairValueAssetsLevelOneToLevelTwoTransfersAmount" name="FairValueAssetsLevelOneToLevelTwoTransfersAmount" nillable="true" xbrli:balance="credit" xbrli:periodType="duration" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="aehr_RevolvingLineTerminationDate" name="RevolvingLineTerminationDate" nillable="true" xbrli:periodType="duration" type="xbrli:stringItemType" substitutionGroup="xbrli:item" />
  <element id="aehr_AmountOfMinimumNetLiquidityOfCreditFacility" name="AmountOfMinimumNetLiquidityOfCreditFacility" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="aehr_OutstandingAmounTofATMOffering" name="OutstandingAmounTofATMOffering" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="aehr_ShelfRegistrationAmount" name="ShelfRegistrationAmount" nillable="true" xbrli:balance="debit" xbrli:periodType="instant" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" />
  <element id="aehr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeStockPurchasePlanNumberOfSharesAvailableForGrant" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeStockPurchasePlanNumberOfSharesAvailableForGrant" nillable="true" xbrli:periodType="instant" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" />
  <element name="RevenuesMember" id="aehr_RevenuesMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="CustomerBMember" id="aehr_CustomerBMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="CustomerCMember" id="aehr_CustomerCMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="CustomerAMember" id="aehr_CustomerAMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="RevenueMember" id="aehr_RevenueMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="MoneyMarketFundMember" id="aehr_MoneyMarketFundMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="UStreasurysecuritiesMember" id="aehr_UStreasurysecuritiesMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="USTreasurySecurityMember" id="aehr_USTreasurySecurityMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="CostMember" id="aehr_CostMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="GrossUnrealizedLossMember" id="aehr_GrossUnrealizedLossMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="EstimatedFairValueMember" id="aehr_EstimatedFairValueMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="UnitedStateTreasurySecuritiesMember" id="aehr_UnitedStateTreasurySecuritiesMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="OriginalLoanAndSecurityAgreementMember" id="aehr_OriginalLoanAndSecurityAgreementMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="SecondAmendmentToLoanAndSecurityAgreementMember" id="aehr_SecondAmendmentToLoanAndSecurityAgreementMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="FirstAmendmentToLoanAndSecurityAgreementMember" id="aehr_FirstAmendmentToLoanAndSecurityAgreementMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="ThirdAmendmentToLoanAndSecurityAgreementMember" id="aehr_ThirdAmendmentToLoanAndSecurityAgreementMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="CumulativeTranslationAdjustmentsMember" id="aehr_CumulativeTranslationAdjustmentsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="UnrealizedLossOnInvestmentsMember" id="aehr_UnrealizedLossOnInvestmentsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="SystemsMember" id="aehr_SystemsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="ServicesMember" id="aehr_ServicesMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="ContactorsMember" id="aehr_ContactorsMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="ProductsAndServicesTransferredAtAPointInTimeMember" id="aehr_ProductsAndServicesTransferredAtAPointInTimeMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="ServicesTransferredOverTimeMember" id="aehr_ServicesTransferredOverTimeMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="NonvestedRSUActivtyMember" id="aehr_NonvestedRSUActivtyMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
  <element name="InternationalMember" id="aehr_InternationalMember" nillable="true" xbrli:periodType="duration" type="nonnum:domainItemType" substitutionGroup="xbrli:item" />
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>7
<FILENAME>aehr-20240229_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!--XBRL Document Created with XBRLMaster-->
<!--Version: 2.3.08-->
<!--Based on XBRL 2.1-->
<!--Date of creation: 04/08/2024-->
<!--Software architectural design and coding: A'c Dharmapremananda Avt.-->
<!--Copyright (c) 2024 I-NET Business Solutions, Inc. All Rights Reserved.-->
<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" 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" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" />
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" />
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" />
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" />
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" />
  <link:roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel" />
  <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CoverAbstract_lbl" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityRegistrantName_lbl" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCentralIndexKey_lbl" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="dei_DocumentType" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentType_lbl" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_AmendmentFlag_lbl" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntitySmallBusiness_lbl" xml:lang="en-US">Entity Small Business</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityShellCompany_lbl" xml:lang="en-US">Entity Shell Company</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCurrentReportingStatus_lbl" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentPeriodEndDate_lbl" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFilerCategory_lbl" xml:lang="en-US">Entity Filer Category</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentFiscalYearFocus_lbl" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xml:lang="en-US">Entity Common Stock Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityFileNumber_lbl" xml:lang="en-US">Entity File Number</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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 Country Code</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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 1</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressCityOrTown_lbl" xml:lang="en-US">Entity Address City Or Town</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressStateOrProvince_lbl" xml:lang="en-US">Entity Address State Or Province</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_EntityAddressPostalZipCode_lbl" xml:lang="en-US">Entity Address Postal Zip Code</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_CityAreaCode_lbl" xml:lang="en-US">City Area Code</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_LocalPhoneNumber_lbl" xml:lang="en-US">Local Phone Number</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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">Security 12b Title</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_TradingSymbol_lbl" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_SecurityExchangeName_lbl" xml:lang="en-US">Security Exchange Name</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentQuarterlyReport_lbl" xml:lang="en-US">Document Quarterly Report</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="dei_DocumentTransitionReport_lbl" xml:lang="en-US">Document Transition Report</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_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.fasb.org/us-gaap/2023/elts/us-gaap-2023.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_b2019c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl_b2019c" xml:lang="en-US">CONDENSED CONSOLIDATED BALANCE SHEETS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl_8a5e99" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsAbstract_lbl_8a5e99" xml:lang="en-US">ASSETS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl_a14118" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrentAbstract_lbl_a14118" xml:lang="en-US">Current assets:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl_90e2cc" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl_90e2cc" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments" xlink:label="us-gaap_ShortTermInvestments" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermInvestments" xlink:to="us-gaap_ShortTermInvestments_lbl_98009d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShortTermInvestments_lbl_98009d" xml:lang="en-US">Short-term investments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNet" xlink:label="us-gaap_AccountsReceivableNet" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNet" xlink:to="us-gaap_AccountsReceivableNet_lbl_3da9fd" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableNet_lbl_3da9fd" xml:lang="en-US">Accounts receivable, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl_6f5e42" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryNet_lbl_6f5e42" xml:lang="en-US">Inventories</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl_453360" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl_453360" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl_31b539" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_AssetsCurrent_lbl_31b539" xml:lang="en-US">Total current assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl_9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsCurrent_lbl_9" xml:lang="en-US">[Assets, Current]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl_e8c4ce" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl_e8c4ce" xml:lang="en-US">Property and equipment, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl_e5bd68" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl_e5bd68" xml:lang="en-US">Operating lease right-of-use assets, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl_038df6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl_038df6" xml:lang="en-US">Other non-current assets</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl_88addd" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Assets_lbl_88addd" xml:lang="en-US">Total assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl_13" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Assets_lbl_13" xml:lang="en-US">[Assets]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl_8c6109" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl_8c6109" xml:lang="en-US">LIABILITIES AND SHAREHOLDERS' EQUITY</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl_af2631" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl_af2631" xml:lang="en-US">Current liabilities:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl_6ef060" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsPayableCurrent_lbl_6ef060" xml:lang="en-US">Accounts payable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="us-gaap_AccruedLiabilitiesCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent_lbl_ae7083" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccruedLiabilitiesCurrent_lbl_ae7083" xml:lang="en-US">Accrued expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl_f3ffce" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl_f3ffce" xml:lang="en-US">Operating lease liabilities, short-term</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="us-gaap_DeferredRevenueCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueCurrent" xlink:to="us-gaap_DeferredRevenueCurrent_lbl_444aa1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenueCurrent_lbl_444aa1" xml:lang="en-US">Deferred revenue, short-term</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl_28475a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesCurrent_lbl_28475a" xml:lang="en-US">Total current liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl_20" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesCurrent_lbl_20" xml:lang="en-US">[Liabilities, Current]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl_ba34ec" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl_ba34ec" xml:lang="en-US">Operating lease liabilities, long-term</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueNoncurrent" xlink:label="us-gaap_DeferredRevenueNoncurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueNoncurrent" xlink:to="us-gaap_DeferredRevenueNoncurrent_lbl_a89bf6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenueNoncurrent_lbl_a89bf6" xml:lang="en-US">Deferred revenue, long-term</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilities" xlink:label="us-gaap_OtherLiabilities" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilities" xlink:to="us-gaap_OtherLiabilities_lbl_918f56" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherLiabilities_lbl_918f56" xml:lang="en-US">Other long-term liabilities</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl_cb0dd0" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_Liabilities_lbl_cb0dd0" xml:lang="en-US">Total liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl_24" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Liabilities_lbl_24" xml:lang="en-US">[Liabilities]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl_63debc" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingencies_lbl_63debc" xml:lang="en-US">Commitments and contingencies (Note 6)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl_b33ce4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityAbstract_lbl_b33ce4" xml:lang="en-US">Shareholders' equity:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="us-gaap_PreferredStockValue" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockValue" xlink:to="us-gaap_PreferredStockValue_lbl_d1482e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockValue_lbl_d1482e" xml:lang="en-US">Preferred stock, $0.01 par value: Authorized: 10,000 shares; Issued and outstanding: none</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl_5a75bc" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockValue_lbl_5a75bc" xml:lang="en-US">Common stock, $0.01 par value: Authorized: 75,000 shares; Issued and outstanding: 28,906 shares and 28,539 shares at February 29, 2024 and May 31, 2023, respectively</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="us-gaap_AdditionalPaidInCapital" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapital" xlink:to="us-gaap_AdditionalPaidInCapital_lbl_296af4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapital_lbl_296af4" xml:lang="en-US">Additional paid-in-capital</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl_c289e6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl_c289e6" xml:lang="en-US">Accumulated other comprehensive loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl_30" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl_30" xml:lang="en-US">[Accumulated Other Comprehensive Income (Loss), Net of Tax]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl_1ec77d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl_1ec77d" xml:lang="en-US">Accumulated deficit</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl_d12666" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_StockholdersEquity_lbl_d12666" xml:lang="en-US">Total shareholders' equity</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl_32" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquity_lbl_32" xml:lang="en-US">[Stockholders' Equity Attributable to Parent]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl_c8cd46" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl_c8cd46" xml:lang="en-US">Total liabilities and shareholders' equity</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl_33" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl_33" xml:lang="en-US">[Liabilities and Equity]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockNoParValue" xlink:label="us-gaap_PreferredStockNoParValue" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockNoParValue" xlink:to="us-gaap_PreferredStockNoParValue_lbl_a2fcf4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockNoParValue_lbl_a2fcf4" xml:lang="en-US">Preferred stock, par value</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="us-gaap_PreferredStockSharesAuthorized" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesAuthorized" xlink:to="us-gaap_PreferredStockSharesAuthorized_lbl_f2c6f3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesAuthorized_lbl_f2c6f3" xml:lang="en-US">Preferred stock, shares authorized</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="us-gaap_PreferredStockSharesIssued" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesIssued" xlink:to="us-gaap_PreferredStockSharesIssued_lbl_578f1e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesIssued_lbl_578f1e" xml:lang="en-US">Preferred stock, shares issued</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="us-gaap_PreferredStockSharesOutstanding" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PreferredStockSharesOutstanding" xlink:to="us-gaap_PreferredStockSharesOutstanding_lbl_69f2a5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PreferredStockSharesOutstanding_lbl_69f2a5" xml:lang="en-US">Preferred stock, shares outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl_14dca5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl_14dca5" xml:lang="en-US">Common stock, par value</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl_2a4615" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl_2a4615" xml:lang="en-US">Common stock, shares authorized</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl_90d7e5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesIssued_lbl_90d7e5" xml:lang="en-US">Common stock, shares issued</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl_9420c3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl_9420c3" xml:lang="en-US">Common stock, shares outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl_06b51b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementAbstract_lbl_06b51b" xml:lang="en-US">CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl_f9e3e7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementTable_lbl_f9e3e7" xml:lang="en-US">Statement [Table]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl_bc90f6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementLineItems_lbl_bc90f6" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="srt_ProductOrServiceAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis_lbl_d050d4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ProductOrServiceAxis_lbl_d050d4" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductMember" xlink:label="us-gaap_ProductMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductMember" xlink:to="us-gaap_ProductMember_lbl_511fa2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductMember_lbl_511fa2" xml:lang="en-US">Product [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ServiceMember" xlink:label="us-gaap_ServiceMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ServiceMember" xlink:to="us-gaap_ServiceMember_lbl_5cb621" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ServiceMember_lbl_5cb621" xml:lang="en-US">Services [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesAbstract" xlink:label="us-gaap_RevenuesAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuesAbstract" xlink:to="us-gaap_RevenuesAbstract_lbl_3f7162" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenuesAbstract_lbl_3f7162" xml:lang="en-US">Revenues</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl_ac067e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl_ac067e" xml:lang="en-US">Total Revenue</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenueAbstract" xlink:label="us-gaap_CostOfRevenueAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfRevenueAbstract" xlink:to="us-gaap_CostOfRevenueAbstract_lbl_f040cb" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfRevenueAbstract_lbl_f040cb" xml:lang="en-US">Cost of revenue:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfRevenue" xlink:to="us-gaap_CostOfRevenue_lbl_93eea2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfRevenue_lbl_93eea2" xml:lang="en-US">Total cost of revenue</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl_568309" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_GrossProfit_lbl_568309" xml:lang="en-US">Gross profit</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl_6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GrossProfit_lbl_6" xml:lang="en-US">[Gross Profit]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_lbl_194b5b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpensesAbstract_lbl_194b5b" xml:lang="en-US">Operating expenses:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl_33bc46" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl_33bc46" xml:lang="en-US">Research and development</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="us-gaap_SellingGeneralAndAdministrativeExpense_lbl_f46a93" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SellingGeneralAndAdministrativeExpense_lbl_f46a93" xml:lang="en-US">Selling, general and administrative</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl_09add1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingExpenses_lbl_09add1" xml:lang="en-US">Total operating expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl_10" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingExpenses_lbl_10" xml:lang="en-US">[Operating Expenses]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl_4b7a77" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_OperatingIncomeLoss_lbl_4b7a77" xml:lang="en-US">Income (loss) from operations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl_11" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingIncomeLoss_lbl_11" xml:lang="en-US">[Operating Income (Loss)]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNet" xlink:label="us-gaap_InterestIncomeExpenseNet" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InterestIncomeExpenseNet" xlink:to="us-gaap_InterestIncomeExpenseNet_lbl_47d2a1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InterestIncomeExpenseNet_lbl_47d2a1" xml:lang="en-US">Interest income, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_lbl_099840" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl_099840" xml:lang="en-US">Other income (expense), net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl_154722" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl_154722" xml:lang="en-US">Income (loss) before provision for income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl_14" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl_14" xml:lang="en-US">[Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl_c82b30" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl_c82b30" xml:lang="en-US">Provision for income taxes</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl_26736c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetIncomeLoss_lbl_26736c" xml:lang="en-US">Net income (loss)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl_16" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetIncomeLoss_lbl_16" xml:lang="en-US">[Net Income (Loss) Attributable to Parent]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl_06ccf9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareAbstract_lbl_06ccf9" xml:lang="en-US">Net income (loss) per share:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl_983ce8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareBasic_lbl_983ce8" xml:lang="en-US">Basic</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl_875bbe" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareDiluted_lbl_875bbe" xml:lang="en-US">Diluted</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_lbl_f4e531" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract_lbl_f4e531" xml:lang="en-US">Shares used in per share calculations:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesIssuedBasic_lbl_ec0a59" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfSharesIssuedBasic_lbl_ec0a59" xml:lang="en-US">Basic</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesIssuedBasic" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesIssuedBasic_lbl_21" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesIssuedBasic_lbl_21" xml:lang="en-US">[Weighted Average Number of Shares Issued, Basic]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl_19e342" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl_19e342" xml:lang="en-US">Diluted</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl_22" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl_22" xml:lang="en-US">[Weighted Average Number of Shares Outstanding, Diluted]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl_279643" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl_279643" xml:lang="en-US">CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Unaudited)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl_f8f94f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_NetIncomeLoss_lbl_f8f94f" xml:lang="en-US">Net income (loss)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossTaxAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossTaxAbstract_lbl_5d1759" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossTaxAbstract_lbl_5d1759" xml:lang="en-US">Other comprehensive income (loss), net of tax:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_lbl_e5b7d8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_lbl_e5b7d8" xml:lang="en-US">Net change in cumulative translation adjustment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_lbl_35e13e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_lbl_35e13e" xml:lang="en-US">Net change in unrealized gain (loss) on investments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl_45388b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl_45388b" xml:lang="en-US">Comprehensive income (loss)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl_6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl_6" xml:lang="en-US">[Comprehensive Income (Loss), Net of Tax, Attributable to Parent]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract_lbl_a8c5f8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract_lbl_a8c5f8" xml:lang="en-US">CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl_1648cf" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl_1648cf" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl_9f1bc1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommonStockMember_lbl_9f1bc1" xml:lang="en-US">Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="us-gaap_AdditionalPaidInCapitalMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember_lbl_e742c0" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdditionalPaidInCapitalMember_lbl_e742c0" xml:lang="en-US">Additional Paid-In Capital</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl_f8139d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl_f8139d" xml:lang="en-US">Accumulated other comprehensive loss</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl_24" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl_24" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl_1cf5d5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RetainedEarningsMember_lbl_1cf5d5" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesIssued" xlink:to="us-gaap_SharesIssued_lbl_7daba6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_SharesIssued_lbl_7daba6" xml:lang="en-US">Balance, shares</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesIssued" xlink:label="us-gaap_SharesIssued" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesIssued" xlink:to="us-gaap_SharesIssued_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesIssued_lbl_2" xml:lang="en-US">[Shares, Issued]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl_2988df" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_StockholdersEquity_lbl_2988df" xml:lang="en-US">Balance, amount</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:to="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_lbl_4c8b4f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_lbl_4c8b4f" xml:lang="en-US">Issuance of common stock under employee plans, shares</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:to="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl_fa138a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_lbl_fa138a" xml:lang="en-US">Issuance of common stock under employee plans, amount</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl_34d924" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl_34d924" xml:lang="en-US">Shares repurchased for tax withholdings on vesting of restricted stock units, shares</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl_6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl_6" xml:lang="en-US">[Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl_bc81aa" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl_bc81aa" xml:lang="en-US">Shares repurchased for tax withholdings on vesting of restricted stock units, amount</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl_7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl_7" xml:lang="en-US">[Payment, Tax Withholding, Share-Based Payment Arrangement]</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsShares" xlink:label="aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsShares" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsShares" xlink:to="aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsShares_lbl_83e55d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsShares_lbl_83e55d" xml:lang="en-US">Proceeds from public offering, net of issuance costs</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsAmount" xlink:label="aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsAmount" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsAmount" xlink:to="aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsAmount_lbl_83daa6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsAmount_lbl_83daa6" xml:lang="en-US">Proceeds from public offering, net of issuance costs, amount</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl_db7d18" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl_db7d18" xml:lang="en-US">Stock-based compensation</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl_f08e39" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_NetIncomeLoss_lbl_f08e39" xml:lang="en-US">Net income</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl_21eb23" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl_21eb23" xml:lang="en-US">Foreign currency translation adjustment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrealizedGainLossOnInvestments" xlink:label="us-gaap_UnrealizedGainLossOnInvestments" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UnrealizedGainLossOnInvestments" xlink:to="us-gaap_UnrealizedGainLossOnInvestments_lbl_8f2074" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UnrealizedGainLossOnInvestments_lbl_8f2074" xml:lang="en-US">Net unrealized loss on investments</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_IssuanceCostOfCommonStockOffering" xlink:label="aehr_IssuanceCostOfCommonStockOffering" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_IssuanceCostOfCommonStockOffering" xlink:to="aehr_IssuanceCostOfCommonStockOffering_lbl_3af024" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_IssuanceCostOfCommonStockOffering_lbl_3af024" xml:lang="en-US">Issuance cost of common stock offering</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesIssued" xlink:to="us-gaap_SharesIssued_lbl_915d45" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_SharesIssued_lbl_915d45" xml:lang="en-US">Balance, shares</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl_e4051a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_StockholdersEquity_lbl_e4051a" xml:lang="en-US">Balance, amount</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl_21a7de" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl_21a7de" xml:lang="en-US">CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl_f71a6c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl_f71a6c" xml:lang="en-US">Cash flows from operating activities:</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl_b6d1e2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ProfitLoss_lbl_b6d1e2" xml:lang="en-US">Net income</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl_3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProfitLoss_lbl_3" xml:lang="en-US">[Net Income (Loss), Including Portion Attributable to Noncontrolling Interest]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl_927887" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl_927887" xml:lang="en-US">Adjustments to reconcile net income to net cash provided by operating activities:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl_70e368" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensation_lbl_70e368" xml:lang="en-US">Stock-based compensation expense</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="us-gaap_DepreciationAndAmortization" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DepreciationAndAmortization" xlink:to="us-gaap_DepreciationAndAmortization_lbl_855664" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DepreciationAndAmortization_lbl_855664" xml:lang="en-US">Depreciation and amortization</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:label="us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:to="us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_lbl_e9f9fa" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_lbl_e9f9fa" xml:lang="en-US">Accretion of investment discount</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:to="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_lbl_b003d6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense_lbl_b003d6" xml:lang="en-US">Amortization of operating lease right-of-use assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="us-gaap_ProvisionForDoubtfulAccounts" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProvisionForDoubtfulAccounts" xlink:to="us-gaap_ProvisionForDoubtfulAccounts_lbl_a878bd" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProvisionForDoubtfulAccounts_lbl_a878bd" xml:lang="en-US">Provision for doubtful accounts</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl_43d3fa" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl_43d3fa" xml:lang="en-US">Changes in operating assets and liabilities:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl_34f1e4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl_34f1e4" xml:lang="en-US">Accounts receivable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl_2b492e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl_2b492e" xml:lang="en-US">Inventories</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl_12" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl_12" xml:lang="en-US">[Increase (Decrease) in Inventories]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl_bb27bb" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl_bb27bb" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl_13" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl_13" xml:lang="en-US">[Increase (Decrease) in Prepaid Expense and Other Assets]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_lbl_795ab7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl_795ab7" xml:lang="en-US">Accounts payable</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_lbl_14" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl_14" xml:lang="en-US">[Increase (Decrease) in Accounts Payable]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl_9db2e7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl_9db2e7" xml:lang="en-US">Accrued expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl_15" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilities_lbl_15" xml:lang="en-US">[Increase (Decrease) in Accrued Liabilities]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:to="us-gaap_IncreaseDecreaseInDeferredRevenue_lbl_e1828a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInDeferredRevenue_lbl_e1828a" xml:lang="en-US">Deferred revenue</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:to="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl_e66b56" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInOperatingLeaseLiability_lbl_e66b56" xml:lang="en-US">Operating lease liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl_5dded7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_lbl_5dded7" xml:lang="en-US">Income taxes payable</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl_b7e010" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl_b7e010" xml:lang="en-US">Net cash provided by operating activities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl_19" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl_19" xml:lang="en-US">[Net Cash Provided by (Used in) Operating Activities]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl_337df2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl_337df2" xml:lang="en-US">Cash flows from investing 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_lbl_c03adc" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl_c03adc" xml:lang="en-US">Purchases of property and equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl_21" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl_21" xml:lang="en-US">[Payments to Acquire Property, Plant, and Equipment]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleAndMaturityOfOtherInvestments" xlink:label="us-gaap_ProceedsFromSaleAndMaturityOfOtherInvestments" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromSaleAndMaturityOfOtherInvestments" xlink:to="us-gaap_ProceedsFromSaleAndMaturityOfOtherInvestments_lbl_db83a1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromSaleAndMaturityOfOtherInvestments_lbl_db83a1" xml:lang="en-US">Proceeds from maturities of investments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireInvestments" xlink:to="us-gaap_PaymentsToAcquireInvestments_lbl_796ac0" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_PaymentsToAcquireInvestments_lbl_796ac0" xml:lang="en-US">Purchases of investments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="us-gaap_PaymentsToAcquireInvestments" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquireInvestments" xlink:to="us-gaap_PaymentsToAcquireInvestments_lbl_23" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PaymentsToAcquireInvestments_lbl_23" xml:lang="en-US">[Payments to Acquire Investments]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl_815af4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl_815af4" xml:lang="en-US">Net cash provided by (used in) investing activities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl_24" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl_24" xml:lang="en-US">[Net Cash Provided by (Used in) Investing Activities]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl_34a695" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl_34a695" xml:lang="en-US">Cash flows from financing activities:</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl_3b1997" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl_3b1997" xml:lang="en-US">Proceeds from issuance of common stock under employee plans</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceInitialPublicOffering" xlink:label="us-gaap_ProceedsFromIssuanceInitialPublicOffering" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceInitialPublicOffering" xlink:to="us-gaap_ProceedsFromIssuanceInitialPublicOffering_lbl_e5fd63" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromIssuanceInitialPublicOffering_lbl_e5fd63" xml:lang="en-US">Proceeds from issuance of common stock from public offering, net of issuance costs</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl_fa0d61" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl_fa0d61" xml:lang="en-US">Net cash provided by (used in) financing activities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl_29" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl_29" xml:lang="en-US">[Net Cash Provided by (Used in) Financing Activities]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl_e92856" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl_e92856" xml:lang="en-US">Effect of exchange rate changes on cash, cash equivalents and restricted cash</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl_59cb0f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl_59cb0f" xml:lang="en-US">Net increase (decrease) in cash, cash equivalents and restricted cash</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl_31" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl_31" xml:lang="en-US">[Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl_3086f2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl_3086f2" xml:lang="en-US">Cash, cash equivalents and restricted cash, beginning of period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl_32" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl_32" xml:lang="en-US">[Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl_003758" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl_003758" xml:lang="en-US">Cash, cash equivalents and restricted cash, end of period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl_77ce61" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl_77ce61" xml:lang="en-US">ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessDescriptionAndAccountingPoliciesTextBlock" xlink:to="us-gaap_BusinessDescriptionAndAccountingPoliciesTextBlock_lbl_dd23a2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_BusinessDescriptionAndAccountingPoliciesTextBlock_lbl_dd23a2" xml:lang="en-US">ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="us-gaap_BusinessDescriptionAndAccountingPoliciesTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessDescriptionAndAccountingPoliciesTextBlock" xlink:to="us-gaap_BusinessDescriptionAndAccountingPoliciesTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessDescriptionAndAccountingPoliciesTextBlock_lbl_2" xml:lang="en-US">Business Description and Accounting Policies [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="us-gaap_FairValueDisclosuresAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresAbstract" xlink:to="us-gaap_FairValueDisclosuresAbstract_lbl_4ac5e5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueDisclosuresAbstract_lbl_4ac5e5" xml:lang="en-US">FAIR VALUE OF FINANCIAL INSTRUMENTS</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresTextBlock" xlink:to="us-gaap_FairValueDisclosuresTextBlock_lbl_8c1d3a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_FairValueDisclosuresTextBlock_lbl_8c1d3a" xml:lang="en-US">FAIR VALUE OF FINANCIAL INSTRUMENTS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="us-gaap_FairValueDisclosuresTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueDisclosuresTextBlock" xlink:to="us-gaap_FairValueDisclosuresTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueDisclosuresTextBlock_lbl_2" xml:lang="en-US">Fair Value Disclosures [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:label="us-gaap_BalanceSheetRelatedDisclosuresAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:to="us-gaap_BalanceSheetRelatedDisclosuresAbstract_lbl_356eb7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BalanceSheetRelatedDisclosuresAbstract_lbl_356eb7" xml:lang="en-US">BALANCE SHEET INFORMATION</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:to="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_lbl_7a7fd1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_lbl_7a7fd1" xml:lang="en-US">BALANCE SHEET INFORMATION</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:label="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:to="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SupplementalBalanceSheetDisclosuresTextBlock_lbl_2" xml:lang="en-US">Supplemental Balance Sheet Disclosures [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl_42cc71" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl_42cc71" xml:lang="en-US">INCOME TAX</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl_e2098c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl_e2098c" xml:lang="en-US">INCOME TAX</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl_2" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="us-gaap_DebtDisclosureAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract_lbl_fc9229" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureAbstract_lbl_fc9229" xml:lang="en-US">BORROWING ARRANGEMENTS</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock_lbl_a87757" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl_a87757" xml:lang="en-US">BORROWING ARRANGEMENTS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="us-gaap_DebtDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl_2" xml:lang="en-US">Debt Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl_991e11" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl_991e11" xml:lang="en-US">COMMITMENTS AND CONTINGENCIES</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl_b1f6f4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl_b1f6f4" xml:lang="en-US">COMMITMENTS AND CONTINGENCIES</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl_2" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_EquityAbstract_lbl_066bbc" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EquityAbstract_lbl_066bbc" xml:lang="en-US">SHAREHOLDERS EQUITY</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl_e289c4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl_e289c4" xml:lang="en-US">SHAREHOLDERS EQUITY</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl_2" xml:lang="en-US">Stockholders' Equity Note Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract_lbl_25260e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract_lbl_25260e" xml:lang="en-US">ACCUMULATED OTHER COMPREHENSIVE LOSS</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:to="us-gaap_ComprehensiveIncomeNoteTextBlock_lbl_e24612" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock_lbl_e24612" xml:lang="en-US">ACCUMULATED OTHER COMPREHENSIVE LOSS</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:to="us-gaap_ComprehensiveIncomeNoteTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ComprehensiveIncomeNoteTextBlock_lbl_2" xml:lang="en-US">Comprehensive Income (Loss) Note [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract_lbl_bd0410" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract_lbl_bd0410" xml:lang="en-US">REVENUE</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl_d0e050" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl_d0e050" xml:lang="en-US">REVENUE</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl_2" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl_e5c160" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl_e5c160" xml:lang="en-US">STOCK-BASED COMPENSATION</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl_caa5d1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl_caa5d1" xml:lang="en-US">STOCK-BASED COMPENSATION</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl_2" xml:lang="en-US">Share-Based Payment Arrangement [Text Block]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl_11a00e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl_11a00e" xml:lang="en-US">NET INCOME (LOSS) PER SHARE</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl_2" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="us-gaap_SegmentReportingAbstract" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingAbstract" xlink:to="us-gaap_SegmentReportingAbstract_lbl_9cf1ee" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingAbstract_lbl_9cf1ee" xml:lang="en-US">SEGMENT AND CONCENTRATION INFORMATION</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl_a5a5e6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl_a5a5e6" xml:lang="en-US">SEGMENT AND CONCENTRATION INFORMATION</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="us-gaap_SegmentReportingDisclosureTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SegmentReportingDisclosureTextBlock_lbl_2" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:to="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl_db85c8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl_db85c8" xml:lang="en-US">Organization</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl_0f3775" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock_lbl_0f3775" xml:lang="en-US">Basis of Presentation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="us-gaap_ConsolidationPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConsolidationPolicyTextBlock" xlink:to="us-gaap_ConsolidationPolicyTextBlock_lbl_d9cf51" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConsolidationPolicyTextBlock_lbl_d9cf51" xml:lang="en-US">Principles of Consolidation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl_3bb710" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_UseOfEstimates_lbl_3bb710" xml:lang="en-US">Critical Accounting Policies and use of Estimates</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Reclassifications" xlink:label="us-gaap_Reclassifications" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Reclassifications" xlink:to="us-gaap_Reclassifications_lbl_8e2d02" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Reclassifications_lbl_8e2d02" xml:lang="en-US">Reclassifications</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="us-gaap_ConcentrationRiskCreditRisk" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskCreditRisk" xlink:to="us-gaap_ConcentrationRiskCreditRisk_lbl_435597" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskCreditRisk_lbl_435597" xml:lang="en-US">Concentration of Credit Risk</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl_be0262" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl_be0262" xml:lang="en-US">Recent Accounting Pronouncements</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_RecentAccountingPronouncementsNotYetAdoptedPolicyTextBlock" xlink:label="aehr_RecentAccountingPronouncementsNotYetAdoptedPolicyTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_RecentAccountingPronouncementsNotYetAdoptedPolicyTextBlock" xlink:to="aehr_RecentAccountingPronouncementsNotYetAdoptedPolicyTextBlock_lbl_a45297" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_RecentAccountingPronouncementsNotYetAdoptedPolicyTextBlock_lbl_a45297" xml:lang="en-US">Recent Accounting Pronouncements Not Yet Adopted</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ScheduleOfFinancialInstrumentsTextblock" xlink:label="aehr_ScheduleOfFinancialInstrumentsTextblock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_ScheduleOfFinancialInstrumentsTextblock" xlink:to="aehr_ScheduleOfFinancialInstrumentsTextblock_lbl_cb234d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_ScheduleOfFinancialInstrumentsTextblock_lbl_cb234d" xml:lang="en-US">Schedule of financial instruments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:label="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:to="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_lbl_174297" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_lbl_174297" xml:lang="en-US">Fair value by hierarchy</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" xlink:label="us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" xlink:to="us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock_lbl_823f58" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock_lbl_823f58" xml:lang="en-US">Cash, cash equivalents and investments by security type</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl_3487c7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl_3487c7" xml:lang="en-US">Inventories</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl_2" 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_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl_4d7001" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl_4d7001" xml:lang="en-US">Property and equipment, net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl_3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl_3" xml:lang="en-US">Property, Plant and Equipment [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:to="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl_535599" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_lbl_535599" xml:lang="en-US">Liability for product warranties</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:label="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:to="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_lbl_522e6b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenueByArrangementDisclosureTextBlock_lbl_522e6b" xml:lang="en-US">Customer deposits and deferred revenue, short-term</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:to="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_lbl_80ff67" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_lbl_80ff67" xml:lang="en-US">Schedule of Changes in the components of accumulated other comprehensive loss, net of tax</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl_a8b9d4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl_a8b9d4" xml:lang="en-US">Disaggregation of revenue</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_lbl_742d11" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_lbl_742d11" xml:lang="en-US">Compensation costs related to the Company's stock-based compensation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock_lbl_cca8c2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock_lbl_cca8c2" xml:lang="en-US">Nonvested RSU activity</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl_75097c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl_75097c" xml:lang="en-US">Net income (loss) earnings per share</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:to="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_lbl_9ba499" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_lbl_9ba499" xml:lang="en-US">Property and equipment by geographic region</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl_a36609" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl_a36609" xml:lang="en-US">Concentration Risk Benchmark [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl_00ad19" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl_00ad19" xml:lang="en-US">Concentration Risk Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_RevenuesMember" xlink:label="aehr_RevenuesMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_RevenuesMember" xlink:to="aehr_RevenuesMember_lbl_995950" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_RevenuesMember_lbl_995950" xml:lang="en-US">Revenue</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_CustomerBMember" xlink:label="aehr_CustomerBMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_CustomerBMember" xlink:to="aehr_CustomerBMember_lbl_b7172b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_CustomerBMember_lbl_b7172b" xml:lang="en-US">Customer B</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_CustomerCMember" xlink:label="aehr_CustomerCMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_CustomerCMember" xlink:to="aehr_CustomerCMember_lbl_2db63c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_CustomerCMember_lbl_2db63c" xml:lang="en-US">Customer C</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl_124a28" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccountsReceivableMember_lbl_124a28" xml:lang="en-US">Accounts Receivable</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_CustomerAMember" xlink:label="aehr_CustomerAMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_CustomerAMember" xlink:to="aehr_CustomerAMember_lbl_058c25" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_CustomerAMember_lbl_058c25" xml:lang="en-US">Customer A</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl_746ee9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl_746ee9" xml:lang="en-US">Concentration Risk, Percentage</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_RevenueMember" xlink:label="aehr_RevenueMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_RevenueMember" xlink:to="aehr_RevenueMember_lbl_738805" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_RevenueMember_lbl_738805" xml:lang="en-US">Revenue [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ConcentrationRiskPercentage" xlink:label="aehr_ConcentrationRiskPercentage" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_ConcentrationRiskPercentage" xlink:to="aehr_ConcentrationRiskPercentage_lbl_331c29" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_ConcentrationRiskPercentage_lbl_331c29" xml:lang="en-US">Concentration risk</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuritiesBorrowedAllowanceForCreditLoss" xlink:label="us-gaap_SecuritiesBorrowedAllowanceForCreditLoss" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SecuritiesBorrowedAllowanceForCreditLoss" xlink:to="us-gaap_SecuritiesBorrowedAllowanceForCreditLoss_lbl_25085a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SecuritiesBorrowedAllowanceForCreditLoss_lbl_25085a" xml:lang="en-US">Allowance for credit losses</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="us-gaap_FinancialInstrumentAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancialInstrumentAxis" xlink:to="us-gaap_FinancialInstrumentAxis_lbl_ea048b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinancialInstrumentAxis_lbl_ea048b" xml:lang="en-US">Financial Instrument Axis</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl_b04d17" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl_b04d17" xml:lang="en-US">Fair Value By Fair Value Hierarchy Level Axis</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis_lbl_b3264d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PlanNameAxis_lbl_b3264d" xml:lang="en-US">Plan Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="us-gaap_FairValueByAssetClassAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByAssetClassAxis" xlink:to="us-gaap_FairValueByAssetClassAxis_lbl_286891" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueByAssetClassAxis_lbl_286891" xml:lang="en-US">Fair Value By Asset Class Axis</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_MoneyMarketFundMember" xlink:label="aehr_MoneyMarketFundMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_MoneyMarketFundMember" xlink:to="aehr_MoneyMarketFundMember_lbl_0ace09" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_MoneyMarketFundMember_lbl_0ace09" xml:lang="en-US">Money Market Funds</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel1Member" xlink:to="us-gaap_FairValueInputsLevel1Member_lbl_f1ff62" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueInputsLevel1Member_lbl_f1ff62" xml:lang="en-US">Level 1 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel2Member" xlink:to="us-gaap_FairValueInputsLevel2Member_lbl_b00336" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueInputsLevel2Member_lbl_b00336" xml:lang="en-US">Level 2 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="us-gaap_FairValueInputsLevel3Member" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel3Member" xlink:to="us-gaap_FairValueInputsLevel3Member_lbl_2b923a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FairValueInputsLevel3Member_lbl_2b923a" xml:lang="en-US">Level 3 [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_UStreasurysecuritiesMember" xlink:label="aehr_UStreasurysecuritiesMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_UStreasurysecuritiesMember" xlink:to="aehr_UStreasurysecuritiesMember_lbl_6e08f0" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_UStreasurysecuritiesMember_lbl_6e08f0" xml:lang="en-US">U.S. treasury securities</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_USTreasurySecurityMember" xlink:label="aehr_USTreasurySecurityMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_USTreasurySecurityMember" xlink:to="aehr_USTreasurySecurityMember_lbl_31bf89" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_USTreasurySecurityMember_lbl_31bf89" xml:lang="en-US">US Treasury Securities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsMember" xlink:label="us-gaap_AssetsMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsMember" xlink:to="us-gaap_AssetsMember_lbl_3b18ba" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AssetsMember_lbl_3b18ba" xml:lang="en-US">Assets [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentsFairValueDisclosure" xlink:label="us-gaap_InvestmentsFairValueDisclosure" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentsFairValueDisclosure" xlink:to="us-gaap_InvestmentsFairValueDisclosure_lbl_3e97d4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InvestmentsFairValueDisclosure_lbl_3e97d4" xml:lang="en-US">Investment securities</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_CostMember" xlink:label="aehr_CostMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_CostMember" xlink:to="aehr_CostMember_lbl_e675f9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_CostMember_lbl_e675f9" xml:lang="en-US">Cost [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_MoneyMarketFundMember" xlink:to="aehr_MoneyMarketFundMember_lbl_761c1b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="aehr_MoneyMarketFundMember_lbl_761c1b" xml:lang="en-US">Money Market Funds</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_GrossUnrealizedLossMember" xlink:label="aehr_GrossUnrealizedLossMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_GrossUnrealizedLossMember" xlink:to="aehr_GrossUnrealizedLossMember_lbl_6ce77a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_GrossUnrealizedLossMember_lbl_6ce77a" xml:lang="en-US">Gross Unrealized Loss</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_EstimatedFairValueMember" xlink:label="aehr_EstimatedFairValueMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_EstimatedFairValueMember" xlink:to="aehr_EstimatedFairValueMember_lbl_27d858" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_EstimatedFairValueMember_lbl_27d858" xml:lang="en-US">Estimated Fair Value [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_UnitedStateTreasurySecuritiesMember" xlink:label="aehr_UnitedStateTreasurySecuritiesMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_UnitedStateTreasurySecuritiesMember" xlink:to="aehr_UnitedStateTreasurySecuritiesMember_lbl_a687d2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_UnitedStateTreasurySecuritiesMember_lbl_a687d2" xml:lang="en-US">U S Treasury Securities [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashEquivalentsAtCarryingValue" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashEquivalentsAtCarryingValue_lbl_a12b27" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashEquivalentsAtCarryingValue_lbl_a12b27" xml:lang="en-US">Cash equivalents</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermInvestments" xlink:label="us-gaap_LongTermInvestments" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermInvestments" xlink:to="us-gaap_LongTermInvestments_lbl_9e011d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LongTermInvestments_lbl_9e011d" xml:lang="en-US">Long-term investments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Cash" xlink:to="us-gaap_Cash_lbl_fad491" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_Cash_lbl_fad491" xml:lang="en-US">Cash</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl_3b94d9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl_3b94d9" xml:lang="en-US">Total cash and cash equivalents</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl_80d651" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl_80d651" xml:lang="en-US">Total cash, cash equivalents and investments</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsAndShortTermInvestments" xlink:to="us-gaap_CashCashEquivalentsAndShortTermInvestments_lbl_e1a549" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_CashCashEquivalentsAndShortTermInvestments_lbl_e1a549" xml:lang="en-US">Total cash, cash equivalents and investments</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsAndShortTermInvestments" xlink:label="us-gaap_CashCashEquivalentsAndShortTermInvestments" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsAndShortTermInvestments" xlink:to="us-gaap_CashCashEquivalentsAndShortTermInvestments_lbl_7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CashCashEquivalentsAndShortTermInvestments_lbl_7" xml:lang="en-US">[Cash, Cash Equivalents, and Short-Term Investments]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermInvestments" xlink:to="us-gaap_ShortTermInvestments_lbl_c7c3a8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_ShortTermInvestments_lbl_c7c3a8" xml:lang="en-US">Short-term Investments</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_FairValueAssetsLevelOneToLevelTwoTransfersAmount" xlink:label="aehr_FairValueAssetsLevelOneToLevelTwoTransfersAmount" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_FairValueAssetsLevelOneToLevelTwoTransfersAmount" xlink:to="aehr_FairValueAssetsLevelOneToLevelTwoTransfersAmount_lbl_0dbe09" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_FairValueAssetsLevelOneToLevelTwoTransfersAmount_lbl_0dbe09" xml:lang="en-US">Transfer between Level 1 and Level 2 fair value measurements</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashNoncurrent" xlink:label="us-gaap_RestrictedCashNoncurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashNoncurrent" xlink:to="us-gaap_RestrictedCashNoncurrent_lbl_8321ed" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RestrictedCashNoncurrent_lbl_8321ed" xml:lang="en-US">Restricted cash</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialLiabilitiesFairValueDisclosure" xlink:label="us-gaap_FinancialLiabilitiesFairValueDisclosure" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FinancialLiabilitiesFairValueDisclosure" xlink:to="us-gaap_FinancialLiabilitiesFairValueDisclosure_lbl_e914cf" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FinancialLiabilitiesFairValueDisclosure_lbl_e914cf" xml:lang="en-US">Financial liabilities at fair value</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterialsNetOfReserves" xlink:to="us-gaap_InventoryRawMaterialsNetOfReserves_lbl_5dc872" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryRawMaterialsNetOfReserves_lbl_5dc872" xml:lang="en-US">Raw materials and sub-assemblies</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryWorkInProcessNetOfReserves" xlink:to="us-gaap_InventoryWorkInProcessNetOfReserves_lbl_a333f6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryWorkInProcessNetOfReserves_lbl_a333f6" xml:lang="en-US">Work in process</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl_e98425" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves_lbl_e98425" xml:lang="en-US">Finished goods</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl_9de737" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_InventoryNet_lbl_9de737" xml:lang="en-US">Inventories</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsGross" xlink:label="us-gaap_LeaseholdImprovementsGross" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsGross" xlink:to="us-gaap_LeaseholdImprovementsGross_lbl_581e60" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LeaseholdImprovementsGross_lbl_581e60" xml:lang="en-US">Leasehold improvements</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesGross" xlink:label="us-gaap_FurnitureAndFixturesGross" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FurnitureAndFixturesGross" xlink:to="us-gaap_FurnitureAndFixturesGross_lbl_8e6bfa" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_FurnitureAndFixturesGross_lbl_8e6bfa" xml:lang="en-US">Furniture and fixtures</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentGross" xlink:label="us-gaap_MachineryAndEquipmentGross" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentGross" xlink:to="us-gaap_MachineryAndEquipmentGross_lbl_cf953e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_MachineryAndEquipmentGross_lbl_cf953e" xml:lang="en-US">Machinery and equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentOther" xlink:label="us-gaap_PropertyPlantAndEquipmentOther" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentOther" xlink:to="us-gaap_PropertyPlantAndEquipmentOther_lbl_8b10ba" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentOther_lbl_8b10ba" xml:lang="en-US">Test equipment</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl_15e3b9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl_15e3b9" xml:lang="en-US">Property and equipment, gross</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl_401a52" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl_401a52" xml:lang="en-US">Less: Accumulated depreciation and amortization</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl_7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl_7" xml:lang="en-US">[Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl_9369a6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl_9369a6" xml:lang="en-US">Property and equipment, net</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrual" xlink:to="us-gaap_ProductWarrantyAccrual_lbl_bd2919" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ProductWarrantyAccrual_lbl_bd2919" xml:lang="en-US">Balance at the beginning of the period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="us-gaap_ProductWarrantyAccrual" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrual" xlink:to="us-gaap_ProductWarrantyAccrual_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyAccrual_lbl_2" xml:lang="en-US">[Standard and Extended Product Warranty Accrual]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:label="us-gaap_ProductWarrantyAccrualWarrantiesIssued" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:to="us-gaap_ProductWarrantyAccrualWarrantiesIssued_lbl_8bd6f6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyAccrualWarrantiesIssued_lbl_8bd6f6" xml:lang="en-US">Accruals for warranties issued during the period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:to="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease_lbl_b216ca" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease_lbl_b216ca" xml:lang="en-US">Adjustments to previously existing warranty accruals</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrualPayments" xlink:to="us-gaap_ProductWarrantyAccrualPayments_lbl_b099ea" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ProductWarrantyAccrualPayments_lbl_b099ea" xml:lang="en-US">Consumption of reserves</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="us-gaap_ProductWarrantyAccrualPayments" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrualPayments" xlink:to="us-gaap_ProductWarrantyAccrualPayments_lbl_5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProductWarrantyAccrualPayments_lbl_5" xml:lang="en-US">[Standard and Extended Product Warranty Accrual, Decrease for Payments]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProductWarrantyAccrual" xlink:to="us-gaap_ProductWarrantyAccrual_lbl_6d19b6" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ProductWarrantyAccrual_lbl_6d19b6" xml:lang="en-US">Balance at the End of the period</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerDepositsCurrent" xlink:label="us-gaap_CustomerDepositsCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerDepositsCurrent" xlink:to="us-gaap_CustomerDepositsCurrent_lbl_745bed" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CustomerDepositsCurrent_lbl_745bed" xml:lang="en-US">Customer deposits</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueAndCreditsCurrent" xlink:to="us-gaap_DeferredRevenueAndCreditsCurrent_lbl_ce9892" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredRevenueAndCreditsCurrent_lbl_ce9892" xml:lang="en-US">Deferred revenue</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueAndCreditsCurrent" xlink:label="us-gaap_DeferredRevenueAndCreditsCurrent" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenueAndCreditsCurrent" xlink:to="us-gaap_DeferredRevenueAndCreditsCurrent_lbl_3" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenueAndCreditsCurrent_lbl_3" xml:lang="en-US">[Deferred Revenue and Credits, Current]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenue" xlink:to="us-gaap_DeferredRevenue_lbl_859f0e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_DeferredRevenue_lbl_859f0e" xml:lang="en-US">Deferred revenue, short-term</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenue" xlink:label="us-gaap_DeferredRevenue" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredRevenue" xlink:to="us-gaap_DeferredRevenue_lbl_4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DeferredRevenue_lbl_4" xml:lang="en-US">[Deferred Revenue]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl_79c09b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl_79c09b" xml:lang="en-US">Provision for income taxes</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_OriginalLoanAndSecurityAgreementMember" xlink:label="aehr_OriginalLoanAndSecurityAgreementMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_OriginalLoanAndSecurityAgreementMember" xlink:to="aehr_OriginalLoanAndSecurityAgreementMember_lbl_1fefc0" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_OriginalLoanAndSecurityAgreementMember_lbl_1fefc0" xml:lang="en-US">Original Loan and Security Agreement</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_SecondAmendmentToLoanAndSecurityAgreementMember" xlink:label="aehr_SecondAmendmentToLoanAndSecurityAgreementMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_SecondAmendmentToLoanAndSecurityAgreementMember" xlink:to="aehr_SecondAmendmentToLoanAndSecurityAgreementMember_lbl_52391f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_SecondAmendmentToLoanAndSecurityAgreementMember_lbl_52391f" xml:lang="en-US">Second Amendment To Loan And Security Agreement</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_FirstAmendmentToLoanAndSecurityAgreementMember" xlink:label="aehr_FirstAmendmentToLoanAndSecurityAgreementMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_FirstAmendmentToLoanAndSecurityAgreementMember" xlink:to="aehr_FirstAmendmentToLoanAndSecurityAgreementMember_lbl_90c64e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_FirstAmendmentToLoanAndSecurityAgreementMember_lbl_90c64e" xml:lang="en-US">First Amendment to Loan and Security Agreement</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ThirdAmendmentToLoanAndSecurityAgreementMember" xlink:label="aehr_ThirdAmendmentToLoanAndSecurityAgreementMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_ThirdAmendmentToLoanAndSecurityAgreementMember" xlink:to="aehr_ThirdAmendmentToLoanAndSecurityAgreementMember_lbl_ada975" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_ThirdAmendmentToLoanAndSecurityAgreementMember_lbl_ada975" xml:lang="en-US">Third Amendment to Loan and Security Agreement</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl_f4978b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl_f4978b" xml:lang="en-US">Line of Credit, maximum borrowing</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateTerms" xlink:label="us-gaap_DebtInstrumentInterestRateTerms" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentInterestRateTerms" xlink:to="us-gaap_DebtInstrumentInterestRateTerms_lbl_371238" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_DebtInstrumentInterestRateTerms_lbl_371238" xml:lang="en-US">Variable interest rate</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityExpirationDate1" xlink:label="us-gaap_LineOfCreditFacilityExpirationDate1" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityExpirationDate1" xlink:to="us-gaap_LineOfCreditFacilityExpirationDate1_lbl_4fcf9c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_LineOfCreditFacilityExpirationDate1_lbl_4fcf9c" xml:lang="en-US">Revolving line maturity date</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_RevolvingLineTerminationDate" xlink:label="aehr_RevolvingLineTerminationDate" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_RevolvingLineTerminationDate" xlink:to="aehr_RevolvingLineTerminationDate_lbl_1a62b9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_RevolvingLineTerminationDate_lbl_1a62b9" xml:lang="en-US">Revolving line termination date</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_AmountOfMinimumNetLiquidityOfCreditFacility" xlink:label="aehr_AmountOfMinimumNetLiquidityOfCreditFacility" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_AmountOfMinimumNetLiquidityOfCreditFacility" xlink:to="aehr_AmountOfMinimumNetLiquidityOfCreditFacility_lbl_582bf2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_AmountOfMinimumNetLiquidityOfCreditFacility_lbl_582bf2" xml:lang="en-US">Minimum liquidity net</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockPricePerShare" xlink:label="us-gaap_SaleOfStockPricePerShare" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SaleOfStockPricePerShare" xlink:to="us-gaap_SaleOfStockPricePerShare_lbl_8e1559" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SaleOfStockPricePerShare_lbl_8e1559" xml:lang="en-US">Sale of common stock price per share</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:label="us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:to="us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_lbl_adda6b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction_lbl_adda6b" xml:lang="en-US">Sale of common stock shares</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromOtherEquity" xlink:label="us-gaap_ProceedsFromOtherEquity" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromOtherEquity" xlink:to="us-gaap_ProceedsFromOtherEquity_lbl_f0c286" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ProceedsFromOtherEquity_lbl_f0c286" xml:lang="en-US">Gross proceeds</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesCommissionsAndFees" xlink:label="us-gaap_SalesCommissionsAndFees" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesCommissionsAndFees" xlink:to="us-gaap_SalesCommissionsAndFees_lbl_245296" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SalesCommissionsAndFees_lbl_245296" xml:lang="en-US">Commission fees</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoninterestExpenseOfferingCost" xlink:label="us-gaap_NoninterestExpenseOfferingCost" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoninterestExpenseOfferingCost" xlink:to="us-gaap_NoninterestExpenseOfferingCost_lbl_2f7bf1" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_NoninterestExpenseOfferingCost_lbl_2f7bf1" xml:lang="en-US">Offering expenses</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_OutstandingAmounTofATMOffering" xlink:label="aehr_OutstandingAmounTofATMOffering" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_OutstandingAmounTofATMOffering" xlink:to="aehr_OutstandingAmounTofATMOffering_lbl_209fae" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_OutstandingAmounTofATMOffering_lbl_209fae" xml:lang="en-US">Remaining amount of the ATM offering</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ShelfRegistrationAmount" xlink:label="aehr_ShelfRegistrationAmount" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_ShelfRegistrationAmount" xlink:to="aehr_ShelfRegistrationAmount_lbl_2ea535" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_ShelfRegistrationAmount_lbl_2ea535" xml:lang="en-US">Shelf registration amount</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLocationAxis" xlink:label="us-gaap_OtherComprehensiveIncomeLocationAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLocationAxis" xlink:to="us-gaap_OtherComprehensiveIncomeLocationAxis_lbl_7883aa" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLocationAxis_lbl_7883aa" xml:lang="en-US">Other Comprehensive Income Location Axis</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_CumulativeTranslationAdjustmentsMember" xlink:label="aehr_CumulativeTranslationAdjustmentsMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_CumulativeTranslationAdjustmentsMember" xlink:to="aehr_CumulativeTranslationAdjustmentsMember_lbl_c92510" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_CumulativeTranslationAdjustmentsMember_lbl_c92510" xml:lang="en-US">Cumulative Translation Adjustments [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_UnrealizedLossOnInvestmentsMember" xlink:label="aehr_UnrealizedLossOnInvestmentsMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_UnrealizedLossOnInvestmentsMember" xlink:to="aehr_UnrealizedLossOnInvestmentsMember_lbl_f8124d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_UnrealizedLossOnInvestmentsMember_lbl_f8124d" xml:lang="en-US">Unrealized Loss on Investments Net [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl_7f5999" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl_7f5999" xml:lang="en-US">Balance at the beginning of the year</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax_lbl_553850" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax_lbl_553850" xml:lang="en-US">Other comprehensive loss before reclassifications</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl_63971b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl_63971b" xml:lang="en-US">Balance at the ending of the year</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl_98dcdd" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementGeographicalAxis_lbl_98dcdd" xml:lang="en-US">Income Tax Authority, Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EuropeMember" xlink:label="srt_EuropeMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_EuropeMember" xlink:to="srt_EuropeMember_lbl_b0d109" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_EuropeMember_lbl_b0d109" xml:lang="en-US">Europe</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_AsiaMember" xlink:label="srt_AsiaMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_AsiaMember" xlink:to="srt_AsiaMember_lbl_0eac30" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_AsiaMember_lbl_0eac30" xml:lang="en-US">Asia</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="country_US" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl_dcfdce" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="country_US_lbl_dcfdce" xml:lang="en-US">US [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl_10b5f9" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl_10b5f9" xml:lang="en-US">Net sales</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_SystemsMember" xlink:label="aehr_SystemsMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_SystemsMember" xlink:to="aehr_SystemsMember_lbl_f636df" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_SystemsMember_lbl_f636df" xml:lang="en-US">Systems [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_ServicesMember" xlink:to="aehr_ServicesMember_lbl_06614e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="aehr_ServicesMember_lbl_06614e" xml:lang="en-US">Services [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ServicesMember" xlink:label="aehr_ServicesMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_ServicesMember" xlink:to="aehr_ServicesMember_lbl_13" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_ServicesMember_lbl_13" xml:lang="en-US">[Services [Member]]</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ContactorsMember" xlink:label="aehr_ContactorsMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_ContactorsMember" xlink:to="aehr_ContactorsMember_lbl_00a212" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_ContactorsMember_lbl_00a212" xml:lang="en-US">Contactors [Member]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl_f269af" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl_f269af" xml:lang="en-US">Net sales</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceAxis_lbl_88d391" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis_lbl_88d391" xml:lang="en-US">Timing Of Transfer Of Good Or Service Axis</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ProductsAndServicesTransferredAtAPointInTimeMember" xlink:label="aehr_ProductsAndServicesTransferredAtAPointInTimeMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_ProductsAndServicesTransferredAtAPointInTimeMember" xlink:to="aehr_ProductsAndServicesTransferredAtAPointInTimeMember_lbl_0fd289" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_ProductsAndServicesTransferredAtAPointInTimeMember_lbl_0fd289" xml:lang="en-US">Products And Services Transferred At A Point In Time [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ServicesTransferredOverTimeMember" xlink:label="aehr_ServicesTransferredOverTimeMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_ServicesTransferredOverTimeMember" xlink:to="aehr_ServicesTransferredOverTimeMember_lbl_d03b32" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_ServicesTransferredOverTimeMember_lbl_d03b32" xml:lang="en-US">Services Transferred over Time [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementScenarioAxis" xlink:label="srt_StatementScenarioAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementScenarioAxis" xlink:to="srt_StatementScenarioAxis_lbl_1fabba" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_StatementScenarioAxis_lbl_1fabba" xml:lang="en-US">Statement Scenario Axis</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeAxis_lbl_475dcd" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventTypeAxis_lbl_475dcd" xml:lang="en-US">Subsequent Event Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioForecastMember" xlink:label="srt_ScenarioForecastMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ScenarioForecastMember" xlink:to="srt_ScenarioForecastMember_lbl_dfa5f2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="srt_ScenarioForecastMember_lbl_dfa5f2" xml:lang="en-US">Scenario Forecast [Member]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember_lbl_5288dd" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SubsequentEventMember_lbl_5288dd" xml:lang="en-US">Subsequent Event</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="us-gaap_ContractWithCustomerLiability" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiability" xlink:to="us-gaap_ContractWithCustomerLiability_lbl_ac534a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiability_lbl_ac534a" xml:lang="en-US">Contract liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNet" xlink:label="us-gaap_ContractWithCustomerAssetNet" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNet" xlink:to="us-gaap_ContractWithCustomerAssetNet_lbl_12dfe8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerAssetNet_lbl_12dfe8" xml:lang="en-US">Contract assets</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl_508c9d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ContractWithCustomerLiabilityRevenueRecognized_lbl_508c9d" xml:lang="en-US">Recognition of contract liabilities</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_lbl_9e6236" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl_9e6236" xml:lang="en-US">Remaining performance obligations</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:label="us-gaap_RevenueRemainingPerformanceObligationPercentage" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:to="us-gaap_RevenueRemainingPerformanceObligationPercentage_lbl_2c82aa" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_RevenueRemainingPerformanceObligationPercentage_lbl_2c82aa" xml:lang="en-US">Remaining performance obligation revenue recognition</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis_lbl_bf3496" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeStatementLocationAxis_lbl_bf3496" xml:lang="en-US">Income Statement Location Axis</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfSalesMember" xlink:to="us-gaap_CostOfSalesMember_lbl_0e5c07" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CostOfSalesMember_lbl_0e5c07" xml:lang="en-US">Cost of Sales</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember_lbl_69b86c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember_lbl_69b86c" xml:lang="en-US">Selling, General and Administrative</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember_lbl_9422d8" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember_lbl_9422d8" xml:lang="en-US">Research and Development</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl_091859" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl_091859" xml:lang="en-US">Total stock-based compensation</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_AwardTypeAxis_lbl_e5f94c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AwardTypeAxis_lbl_e5f94c" xml:lang="en-US">Award Type Axis</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_NonvestedRSUActivtyMember" xlink:label="aehr_NonvestedRSUActivtyMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_NonvestedRSUActivtyMember" xlink:to="aehr_NonvestedRSUActivtyMember_lbl_d69181" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_NonvestedRSUActivtyMember_lbl_d69181" xml:lang="en-US">Nonvested RSU Activty</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl_38f660" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl_38f660" xml:lang="en-US">Unvested May 31, 2023, beginning (in thousands)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl_2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl_2" xml:lang="en-US">[Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl_2380e2" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl_2380e2" xml:lang="en-US">Shares, Granted (in thousands)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl_76019a" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl_76019a" xml:lang="en-US">Shares, Vested (in thousands)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl_4" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl_4" xml:lang="en-US">[Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited_lbl_14d3dc" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited_lbl_14d3dc" xml:lang="en-US">Shares, Forfeited (in thousands)</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited_lbl_5" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited_lbl_5" xml:lang="en-US">[Stock Issued During Period, Shares, Restricted Stock Award, Forfeited]</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl_620d04" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl_620d04" xml:lang="en-US">Unvested February 29, 2024, ending (in thousands)</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl_fb856f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl_fb856f" xml:lang="en-US">Weighted Average Grant Date Fair Value Per Share, beginning</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl_7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl_7" xml:lang="en-US">[Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value]</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl_b66d4b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl_b66d4b" xml:lang="en-US">Granted</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_lbl_a1d0d7" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_lbl_a1d0d7" xml:lang="en-US">Vested</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_lbl_fa256e" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_lbl_fa256e" xml:lang="en-US">Forfeited</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl_0feb1b" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl_0feb1b" xml:lang="en-US">Weighted Average Grant Date Fair Value Per Share, Ending</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl_57e63c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl_57e63c" xml:lang="en-US">Awards shares issued</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedCostsAssetRetirementCosts" xlink:label="us-gaap_CapitalizedCostsAssetRetirementCosts" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalizedCostsAssetRetirementCosts" xlink:to="us-gaap_CapitalizedCostsAssetRetirementCosts_lbl_19623f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_CapitalizedCostsAssetRetirementCosts_lbl_19623f" xml:lang="en-US">Stock-based compensation expense capitalized</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeStockPurchasePlanNumberOfSharesAvailableForGrant" xlink:label="aehr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeStockPurchasePlanNumberOfSharesAvailableForGrant" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeStockPurchasePlanNumberOfSharesAvailableForGrant" xlink:to="aehr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeStockPurchasePlanNumberOfSharesAvailableForGrant_lbl_dd8d2d" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeStockPurchasePlanNumberOfSharesAvailableForGrant_lbl_dd8d2d" xml:lang="en-US">Employee stock purchase plan shares available for issuance</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:to="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_lbl_ff6f6c" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_lbl_ff6f6c" xml:lang="en-US">Employee stock purchase plan shares issued</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl_dcae0f" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl_dcae0f" xml:lang="en-US">Denominator: Weighted average shares outstanding</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:to="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl_9bcb83" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl_9bcb83" xml:lang="en-US">Dilutive effect of common equivalent shares outstanding</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl_51afea" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl_51afea" xml:lang="en-US">Denominator: Diluted weighted average shares outstanding</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl_a327fa" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareBasic_lbl_a327fa" xml:lang="en-US">Basic net income (loss) per share</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl_7e9e12" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:label="us-gaap_EarningsPerShareDiluted_lbl_7e9e12" xml:lang="en-US">Diluted net income (loss) per share</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl_3ace57" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl_3ace57" xml:lang="en-US">Antidilutive employee share-based award shares, excluded</link:label>
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="us-gaap_IncomeTaxAuthorityNameAxis" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxAuthorityNameAxis" xlink:to="us-gaap_IncomeTaxAuthorityNameAxis_lbl_4929ac" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="us-gaap_IncomeTaxAuthorityNameAxis_lbl_4929ac" xml:lang="en-US">Income Tax Authority Name Axis</link:label>
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_InternationalMember" xlink:label="aehr_InternationalMember" />
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="aehr_InternationalMember" xlink:to="aehr_InternationalMember_lbl_f2baac" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/label" xlink:label="aehr_InternationalMember_lbl_f2baac" xml:lang="en-US">International</link:label>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl_941458" xlink:type="arc" />
    <link:label xlink:type="resource" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl_941458" xml:lang="en-US">Property and equipment, net</link:label>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>8
<FILENAME>aehr-20240229_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!--XBRL Document Created with XBRLMaster-->
<!--Version: 2.3.08-->
<!--Based on XBRL 2.1-->
<!--Date of creation: 04/08/2024-->
<!--Software architectural design and coding: A'c Dharmapremananda Avt.-->
<!--Copyright (c) 2024 I-NET Business Solutions, Inc. All Rights Reserved.-->
<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" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://aehr.com/role/Cover" xlink:href="aehr-20240229.xsd#Cover" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/CondensedConsolidatedBalanceSheets" xlink:href="aehr-20240229.xsd#CondensedConsolidatedBalanceSheets" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:href="aehr-20240229.xsd#CondensedConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited" xlink:href="aehr-20240229.xsd#CondensedConsolidatedStatementsOfOperationsUnaudited" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/CondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited" xlink:href="aehr-20240229.xsd#CondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited" xlink:href="aehr-20240229.xsd#CondensedConsolidatedStatementsOfShareholdersEquityUnaudited" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:href="aehr-20240229.xsd#CondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/OrganizationAndSignificantAccountingPolicies" xlink:href="aehr-20240229.xsd#OrganizationAndSignificantAccountingPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/FairValueOfFinancialInstruments" xlink:href="aehr-20240229.xsd#FairValueOfFinancialInstruments" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BalanceSheetInformation" xlink:href="aehr-20240229.xsd#BalanceSheetInformation" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/IncomeTax" xlink:href="aehr-20240229.xsd#IncomeTax" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BorrowingArrangements" xlink:href="aehr-20240229.xsd#BorrowingArrangements" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/CommitmentsAndContingencies" xlink:href="aehr-20240229.xsd#CommitmentsAndContingencies" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/ShareholdersEquity" xlink:href="aehr-20240229.xsd#ShareholdersEquity" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/AccumulatedOtherComprehensiveLoss" xlink:href="aehr-20240229.xsd#AccumulatedOtherComprehensiveLoss" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/REVENUE" xlink:href="aehr-20240229.xsd#REVENUE" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/StockBasedCompensation" xlink:href="aehr-20240229.xsd#StockBasedCompensation" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/NetIncomeLossPerShare" xlink:href="aehr-20240229.xsd#NetIncomeLossPerShare" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/SegmentAndConcentrationInformation" xlink:href="aehr-20240229.xsd#SegmentAndConcentrationInformation" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" xlink:href="aehr-20240229.xsd#OrganizationAndSignificantAccountingPoliciesPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesTables" xlink:href="aehr-20240229.xsd#OrganizationAndSignificantAccountingPoliciesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/FairValueOfFinancialInstrumentsTables" xlink:href="aehr-20240229.xsd#FairValueOfFinancialInstrumentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BalanceSheetInformationTables" xlink:href="aehr-20240229.xsd#BalanceSheetInformationTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/AccumulatedOtherComprehensiveLossTables" xlink:href="aehr-20240229.xsd#AccumulatedOtherComprehensiveLossTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/RevenueTables" xlink:href="aehr-20240229.xsd#RevenueTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/StockbasedCompensationTables" xlink:href="aehr-20240229.xsd#StockbasedCompensationTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/NetIncomeLossPerShareTables" xlink:href="aehr-20240229.xsd#NetIncomeLossPerShareTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/SegmentAndConcentrationInformationTables" xlink:href="aehr-20240229.xsd#SegmentAndConcentrationInformationTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetails" xlink:href="aehr-20240229.xsd#OrganizationAndSignificantAccountingPoliciesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" xlink:href="aehr-20240229.xsd#OrganizationAndSignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/FairValueOfFinancialInstrumentsDetails" xlink:href="aehr-20240229.xsd#FairValueOfFinancialInstrumentsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1" xlink:href="aehr-20240229.xsd#FairValueOfFinancialInstrumentsDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/FairValueOfFinancialInstrumentsDetailsNarrative" xlink:href="aehr-20240229.xsd#FairValueOfFinancialInstrumentsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BalanceSheetInformationDetails" xlink:href="aehr-20240229.xsd#BalanceSheetInformationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BalanceSheetInformationDetails1" xlink:href="aehr-20240229.xsd#BalanceSheetInformationDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BalanceSheetInformationDetails2" xlink:href="aehr-20240229.xsd#BalanceSheetInformationDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BalanceSheetInformationDetails3" xlink:href="aehr-20240229.xsd#BalanceSheetInformationDetails3" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/IncomeTaxesDetailsNarrative" xlink:href="aehr-20240229.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BorrowingArrangementsDetailsNarrative" xlink:href="aehr-20240229.xsd#BorrowingArrangementsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/ShareholdersEquityDetailsNarrative" xlink:href="aehr-20240229.xsd#ShareholdersEquityDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/AccumulatedOtherComprehensiveLossDetails" xlink:href="aehr-20240229.xsd#AccumulatedOtherComprehensiveLossDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/RevenueDetails" xlink:href="aehr-20240229.xsd#RevenueDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/RevenueDetails1" xlink:href="aehr-20240229.xsd#RevenueDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/RevenueDetails2" xlink:href="aehr-20240229.xsd#RevenueDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/RevenueDetailsNarrative" xlink:href="aehr-20240229.xsd#RevenueDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/StockBasedCompensationDetails" xlink:href="aehr-20240229.xsd#StockBasedCompensationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/StockBasedCompensationDetails1" xlink:href="aehr-20240229.xsd#StockBasedCompensationDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/StockBasedCompensationDetailsNarrative" xlink:href="aehr-20240229.xsd#StockBasedCompensationDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/NetIncomeLossPerShareDetails" xlink:href="aehr-20240229.xsd#NetIncomeLossPerShareDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/SegmentAndConcentrationInformationDetails" xlink:href="aehr-20240229.xsd#SegmentAndConcentrationInformationDetails" xlink:type="simple" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/Cover" xlink:title="00000001 - Document - Document and Entity Information" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/CondensedConsolidatedBalanceSheets" xlink:title="000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" />
    <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments" xlink:label="loc_us-gaapShortTermInvestments" />
    <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapShortTermInvestments" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet" />
    <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapAccountsReceivableNet" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet" />
    <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapInventoryNet" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent" />
    <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssetsCurrent" xlink:to="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets" />
    <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapAssetsCurrent" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
    <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset" />
    <link:calculationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaapOtherAssetsNoncurrent" />
    <link:calculationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapAssets" xlink:to="loc_us-gaapOtherAssetsNoncurrent" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent" />
    <link:calculationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccountsPayableCurrent" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent" />
    <link:calculationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapAccruedLiabilitiesCurrent" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent" />
    <link:calculationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="loc_us-gaapDeferredRevenueCurrent" />
    <link:calculationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesCurrent" xlink:to="loc_us-gaapDeferredRevenueCurrent" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities" />
    <link:calculationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapLiabilitiesCurrent" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent" />
    <link:calculationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueNoncurrent" xlink:label="loc_us-gaapDeferredRevenueNoncurrent" />
    <link:calculationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapDeferredRevenueNoncurrent" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilities" xlink:label="loc_us-gaapOtherLiabilities" />
    <link:calculationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilities" xlink:to="loc_us-gaapOtherLiabilities" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="loc_us-gaapPreferredStockValue" />
    <link:calculationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapPreferredStockValue" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue" />
    <link:calculationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapCommonStockValue" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital" />
    <link:calculationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapAdditionalPaidInCapital" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:calculationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit" />
    <link:calculationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapStockholdersEquity" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity" />
    <link:calculationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquity" xlink:to="loc_us-gaapLiabilities" xlink:type="arc" weight="1" />
    <link:calculationArc order="25" 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://aehr.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:title="000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited" xlink:title="000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="loc_us-gaapCostOfRevenue" />
    <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapGrossProfit" xlink:to="loc_us-gaapCostOfRevenue" xlink:type="arc" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
    <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapResearchAndDevelopmentExpense" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaapSellingGeneralAndAdministrativeExpense" />
    <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingExpenses" xlink:to="loc_us-gaapSellingGeneralAndAdministrativeExpense" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
    <link:calculationArc order="6" 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:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapOperatingIncomeLoss" xlink:to="loc_us-gaapOperatingExpenses" xlink:type="arc" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapOperatingIncomeLoss" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNet" xlink:label="loc_us-gaapInterestIncomeExpenseNet" />
    <link:calculationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapInterestIncomeExpenseNet" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaapOtherNonoperatingIncomeExpense" />
    <link:calculationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="loc_us-gaapOtherNonoperatingIncomeExpense" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
    <link:calculationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetIncomeLoss" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
    <link:calculationArc order="12" 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://aehr.com/role/CondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited" xlink:title="000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Unaudited)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTax" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
    <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTax" xlink:to="loc_us-gaapNetIncomeLoss" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" />
    <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTax" xlink:to="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" />
    <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapComprehensiveIncomeNetOfTax" xlink:to="loc_us-gaapOtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:type="arc" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited" xlink:title="000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:title="000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss" />
    <link:calculationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapProfitLoss" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation" />
    <link:calculationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapShareBasedCompensation" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="loc_us-gaapDepreciationAndAmortization" />
    <link:calculationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapDepreciationAndAmortization" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:label="loc_us-gaapAccretionAmortizationOfDiscountsAndPremiumsInvestments" />
    <link:calculationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapAccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:type="arc" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" />
    <link:calculationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="loc_us-gaapProvisionForDoubtfulAccounts" />
    <link:calculationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapProvisionForDoubtfulAccounts" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable" />
    <link:calculationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable" xlink:type="arc" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories" />
    <link:calculationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInInventories" xlink:type="arc" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" />
    <link:calculationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="arc" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayable" />
    <link:calculationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayable" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedLiabilities" />
    <link:calculationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedLiabilities" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="loc_us-gaapIncreaseDecreaseInDeferredRevenue" />
    <link:calculationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInDeferredRevenue" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability" />
    <link:calculationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" />
    <link:calculationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" />
    <link:calculationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleAndMaturityOfOtherInvestments" xlink:label="loc_us-gaapProceedsFromSaleAndMaturityOfOtherInvestments" />
    <link:calculationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapProceedsFromSaleAndMaturityOfOtherInvestments" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaapPaymentsToAcquireInvestments" />
    <link:calculationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:to="loc_us-gaapPaymentsToAcquireInvestments" xlink:type="arc" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfCommonStock" />
    <link:calculationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapProceedsFromIssuanceOfCommonStock" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="loc_us-gaapPaymentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:calculationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapPaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="arc" weight="-1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceInitialPublicOffering" xlink:label="loc_us-gaapProceedsFromIssuanceInitialPublicOffering" />
    <link:calculationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:to="loc_us-gaapProceedsFromIssuanceInitialPublicOffering" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:calculationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities" xlink:type="arc" weight="1" />
    <link:calculationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities" xlink:type="arc" weight="1" />
    <link:calculationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivities" xlink:type="arc" weight="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:calculationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="arc" weight="1" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/OrganizationAndSignificantAccountingPolicies" xlink:title="000008 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/FairValueOfFinancialInstruments" xlink:title="000009 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/BalanceSheetInformation" xlink:title="000010 - Disclosure - BALANCE SHEET INFORMATION" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/IncomeTax" xlink:title="000011 - Disclosure - INCOME TAX" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/BorrowingArrangements" xlink:title="000012 - Disclosure - BORROWING ARRANGEMENTS" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/CommitmentsAndContingencies" xlink:title="000013 - Disclosure - COMMITMENTS AND CONTINGENCIES" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/ShareholdersEquity" xlink:title="000014 - Disclosure - SHAREHOLDERS EQUITY" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/AccumulatedOtherComprehensiveLoss" xlink:title="000015 - Disclosure - ACCUMULATED OTHER COMPREHENSIVE LOSS" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/REVENUE" xlink:title="000016 - Disclosure - REVENUE" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/StockBasedCompensation" xlink:title="000017 - Disclosure - STOCK-BASED COMPENSATION" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/NetIncomeLossPerShare" xlink:title="000018 - Disclosure - NET INCOME (LOSS) PER SHARE" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/SegmentAndConcentrationInformation" xlink:title="000019 - Disclosure - SEGMENT AND CONCENTRATION INFORMATION" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" xlink:title="000020 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Policies)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesTables" xlink:title="000021 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/FairValueOfFinancialInstrumentsTables" xlink:title="000022 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/BalanceSheetInformationTables" xlink:title="000023 - Disclosure - BALANCE SHEET INFORMATION (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/AccumulatedOtherComprehensiveLossTables" xlink:title="000024 - Disclosure - ACCUMULATED OTHER COMPREHENSIVE LOSS (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/RevenueTables" xlink:title="000025 - Disclosure - REVENUE (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/StockbasedCompensationTables" xlink:title="000026 - Disclosure - STOCKBASED COMPENSATION (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/NetIncomeLossPerShareTables" xlink:title="000027 - Disclosure - NET INCOME (LOSS) PER SHARE (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/SegmentAndConcentrationInformationTables" xlink:title="000028 - Disclosure - SEGMENT AND CONCENTRATION INFORMATION (Tables)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetails" xlink:title="000029 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" xlink:title="000030 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/FairValueOfFinancialInstrumentsDetails" xlink:title="000031 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1" xlink:title="000032 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (Details 1)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/FairValueOfFinancialInstrumentsDetailsNarrative" xlink:title="000033 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/BalanceSheetInformationDetails" xlink:title="000034 - Disclosure - BALANCE SHEET INFORMATION (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/BalanceSheetInformationDetails1" xlink:title="000035 - Disclosure - BALANCE SHEET INFORMATION (Details 1)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/BalanceSheetInformationDetails2" xlink:title="000036 - Disclosure - BALANCE SHEET INFORMATION (Details 2)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/BalanceSheetInformationDetails3" xlink:title="000037 - Disclosure - BALANCE SHEET INFORMATION (Details 3)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/IncomeTaxesDetailsNarrative" xlink:title="000038 - Disclosure - INCOME TAXES (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/BorrowingArrangementsDetailsNarrative" xlink:title="000039 - Disclosure - BORROWING ARRANGEMENTS (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/ShareholdersEquityDetailsNarrative" xlink:title="000040 - Disclosure - SHAREHOLDERS EQUITY (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/AccumulatedOtherComprehensiveLossDetails" xlink:title="000041 - Disclosure - ACCUMULATED OTHER COMPREHENSIVE LOSS (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/RevenueDetails" xlink:title="000042 - Disclosure - REVENUE (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/RevenueDetails1" xlink:title="000043 - Disclosure - REVENUE (Details 1)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/RevenueDetails2" xlink:title="000044 - Disclosure - REVENUE (Details 2)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/RevenueDetailsNarrative" xlink:title="000045 - Disclosure - REVENUE (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/StockBasedCompensationDetails" xlink:title="000046 - Disclosure - STOCK-BASED COMPENSATION (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/StockBasedCompensationDetails1" xlink:title="000047 - Disclosure - STOCK-BASED COMPENSATION (Details 1)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/StockBasedCompensationDetailsNarrative" xlink:title="000048 - Disclosure - STOCK-BASED COMPENSATION (Details Narrative)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/NetIncomeLossPerShareDetails" xlink:title="000049 - Disclosure - NET INCOME (LOSS) PER SHARE (Details)" />
  <link:calculationLink xlink:type="extended" xlink:role="http://aehr.com/role/SegmentAndConcentrationInformationDetails" xlink:title="000050 - Disclosure - SEGMENT AND CONCENTRATION INFORMATION (Details)" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>9
<FILENAME>aehr-20240229_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!--XBRL Document Created with XBRLMaster-->
<!--Version: 2.3.08-->
<!--Based on XBRL 2.1-->
<!--Date of creation: 04/08/2024-->
<!--Software architectural design and coding: A'c Dharmapremananda Avt.-->
<!--Copyright (c) 2024 I-NET Business Solutions, Inc. All Rights Reserved.-->
<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" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://aehr.com/role/Cover" xlink:href="aehr-20240229.xsd#Cover" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/CondensedConsolidatedBalanceSheets" xlink:href="aehr-20240229.xsd#CondensedConsolidatedBalanceSheets" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:href="aehr-20240229.xsd#CondensedConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited" xlink:href="aehr-20240229.xsd#CondensedConsolidatedStatementsOfOperationsUnaudited" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/CondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited" xlink:href="aehr-20240229.xsd#CondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited" xlink:href="aehr-20240229.xsd#CondensedConsolidatedStatementsOfShareholdersEquityUnaudited" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:href="aehr-20240229.xsd#CondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/OrganizationAndSignificantAccountingPolicies" xlink:href="aehr-20240229.xsd#OrganizationAndSignificantAccountingPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/FairValueOfFinancialInstruments" xlink:href="aehr-20240229.xsd#FairValueOfFinancialInstruments" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BalanceSheetInformation" xlink:href="aehr-20240229.xsd#BalanceSheetInformation" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/IncomeTax" xlink:href="aehr-20240229.xsd#IncomeTax" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BorrowingArrangements" xlink:href="aehr-20240229.xsd#BorrowingArrangements" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/CommitmentsAndContingencies" xlink:href="aehr-20240229.xsd#CommitmentsAndContingencies" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/ShareholdersEquity" xlink:href="aehr-20240229.xsd#ShareholdersEquity" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/AccumulatedOtherComprehensiveLoss" xlink:href="aehr-20240229.xsd#AccumulatedOtherComprehensiveLoss" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/REVENUE" xlink:href="aehr-20240229.xsd#REVENUE" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/StockBasedCompensation" xlink:href="aehr-20240229.xsd#StockBasedCompensation" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/NetIncomeLossPerShare" xlink:href="aehr-20240229.xsd#NetIncomeLossPerShare" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/SegmentAndConcentrationInformation" xlink:href="aehr-20240229.xsd#SegmentAndConcentrationInformation" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" xlink:href="aehr-20240229.xsd#OrganizationAndSignificantAccountingPoliciesPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesTables" xlink:href="aehr-20240229.xsd#OrganizationAndSignificantAccountingPoliciesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/FairValueOfFinancialInstrumentsTables" xlink:href="aehr-20240229.xsd#FairValueOfFinancialInstrumentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BalanceSheetInformationTables" xlink:href="aehr-20240229.xsd#BalanceSheetInformationTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/AccumulatedOtherComprehensiveLossTables" xlink:href="aehr-20240229.xsd#AccumulatedOtherComprehensiveLossTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/RevenueTables" xlink:href="aehr-20240229.xsd#RevenueTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/StockbasedCompensationTables" xlink:href="aehr-20240229.xsd#StockbasedCompensationTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/NetIncomeLossPerShareTables" xlink:href="aehr-20240229.xsd#NetIncomeLossPerShareTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/SegmentAndConcentrationInformationTables" xlink:href="aehr-20240229.xsd#SegmentAndConcentrationInformationTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetails" xlink:href="aehr-20240229.xsd#OrganizationAndSignificantAccountingPoliciesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" xlink:href="aehr-20240229.xsd#OrganizationAndSignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/FairValueOfFinancialInstrumentsDetails" xlink:href="aehr-20240229.xsd#FairValueOfFinancialInstrumentsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1" xlink:href="aehr-20240229.xsd#FairValueOfFinancialInstrumentsDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/FairValueOfFinancialInstrumentsDetailsNarrative" xlink:href="aehr-20240229.xsd#FairValueOfFinancialInstrumentsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BalanceSheetInformationDetails" xlink:href="aehr-20240229.xsd#BalanceSheetInformationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BalanceSheetInformationDetails1" xlink:href="aehr-20240229.xsd#BalanceSheetInformationDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BalanceSheetInformationDetails2" xlink:href="aehr-20240229.xsd#BalanceSheetInformationDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BalanceSheetInformationDetails3" xlink:href="aehr-20240229.xsd#BalanceSheetInformationDetails3" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/IncomeTaxesDetailsNarrative" xlink:href="aehr-20240229.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BorrowingArrangementsDetailsNarrative" xlink:href="aehr-20240229.xsd#BorrowingArrangementsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/ShareholdersEquityDetailsNarrative" xlink:href="aehr-20240229.xsd#ShareholdersEquityDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/AccumulatedOtherComprehensiveLossDetails" xlink:href="aehr-20240229.xsd#AccumulatedOtherComprehensiveLossDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/RevenueDetails" xlink:href="aehr-20240229.xsd#RevenueDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/RevenueDetails1" xlink:href="aehr-20240229.xsd#RevenueDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/RevenueDetails2" xlink:href="aehr-20240229.xsd#RevenueDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/RevenueDetailsNarrative" xlink:href="aehr-20240229.xsd#RevenueDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/StockBasedCompensationDetails" xlink:href="aehr-20240229.xsd#StockBasedCompensationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/StockBasedCompensationDetails1" xlink:href="aehr-20240229.xsd#StockBasedCompensationDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/StockBasedCompensationDetailsNarrative" xlink:href="aehr-20240229.xsd#StockBasedCompensationDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/NetIncomeLossPerShareDetails" xlink:href="aehr-20240229.xsd#NetIncomeLossPerShareDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/SegmentAndConcentrationInformationDetails" xlink:href="aehr-20240229.xsd#SegmentAndConcentrationInformationDetails" xlink:type="simple" />
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/Cover" xlink:title="00000001 - Document - Cover Page Information">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="loc_deiCoverAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="loc_deiEntityRegistrantName" />
    <link:presentationArc order="0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityRegistrantName" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="loc_deiEntityCentralIndexKey" />
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCentralIndexKey" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="loc_deiDocumentType" />
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentType" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="loc_deiAmendmentFlag" />
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiAmendmentFlag" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_deiCurrentFiscalYearEndDate" />
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCurrentFiscalYearEndDate" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="loc_deiEntitySmallBusiness" />
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntitySmallBusiness" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="loc_deiEntityShellCompany" />
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityShellCompany" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="loc_deiEntityEmergingGrowthCompany" />
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityEmergingGrowthCompany" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="loc_deiEntityCurrentReportingStatus" />
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCurrentReportingStatus" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_deiDocumentPeriodEndDate" />
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentPeriodEndDate" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="loc_deiEntityFilerCategory" />
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFilerCategory" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_deiDocumentFiscalPeriodFocus" />
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalPeriodFocus" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_deiDocumentFiscalYearFocus" />
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentFiscalYearFocus" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_deiEntityCommonStockSharesOutstanding" />
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityCommonStockSharesOutstanding" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="loc_deiEntityFileNumber" />
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityFileNumber" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="loc_deiEntityIncorporationStateCountryCode" />
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityIncorporationStateCountryCode" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="loc_deiEntityTaxIdentificationNumber" />
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityTaxIdentificationNumber" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="loc_deiEntityAddressAddressLine1" />
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressAddressLine1" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="loc_deiEntityAddressCityOrTown" />
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressCityOrTown" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="loc_deiEntityAddressStateOrProvince" />
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressStateOrProvince" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="loc_deiEntityAddressPostalZipCode" />
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityAddressPostalZipCode" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="loc_deiCityAreaCode" />
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiCityAreaCode" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="loc_deiLocalPhoneNumber" />
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiLocalPhoneNumber" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="loc_deiSecurity12bTitle" />
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurity12bTitle" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="loc_deiTradingSymbol" />
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiTradingSymbol" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="loc_deiSecurityExchangeName" />
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiSecurityExchangeName" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="loc_deiDocumentQuarterlyReport" />
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentQuarterlyReport" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="loc_deiDocumentTransitionReport" />
    <link:presentationArc order="27" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiDocumentTransitionReport" xlink:type="arc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="loc_deiEntityInteractiveDataCurrent" />
    <link:presentationArc order="28" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_deiCoverAbstract" xlink:to="loc_deiEntityInteractiveDataCurrent" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/CondensedConsolidatedBalanceSheets" xlink:title="000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract_8c6ffc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaapAssetsAbstract_e0b89f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract_8c6ffc" xlink:to="loc_us-gaapAssetsAbstract_e0b89f" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaapAssetsCurrentAbstract_9f415a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsAbstract_e0b89f" xlink:to="loc_us-gaapAssetsCurrentAbstract_9f415a" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue_a95f31" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract_9f415a" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue_a95f31" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments" xlink:label="loc_us-gaapShortTermInvestments_f4fd74" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract_9f415a" xlink:to="loc_us-gaapShortTermInvestments_f4fd74" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNet" xlink:label="loc_us-gaapAccountsReceivableNet_fdb07a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract_9f415a" xlink:to="loc_us-gaapAccountsReceivableNet_fdb07a" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet_10e186" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract_9f415a" xlink:to="loc_us-gaapInventoryNet_10e186" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent_198ae6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract_9f415a" xlink:to="loc_us-gaapPrepaidExpenseAndOtherAssetsCurrent_198ae6" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaapAssetsCurrent_1faf2c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract_9f415a" xlink:to="loc_us-gaapAssetsCurrent_1faf2c" order="8" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet_274d1f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract_9f415a" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet_274d1f" order="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAsset_fa60e8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract_9f415a" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAsset_fa60e8" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaapOtherAssetsNoncurrent_026dd3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract_9f415a" xlink:to="loc_us-gaapOtherAssetsNoncurrent_026dd3" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="loc_us-gaapAssets_2d7a63" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract_9f415a" xlink:to="loc_us-gaapAssets_2d7a63" order="12" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_e9a531" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAssetsCurrentAbstract_9f415a" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_e9a531" order="13" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaapLiabilitiesCurrentAbstract_8a5ad6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesAndStockholdersEquityAbstract_e9a531" xlink:to="loc_us-gaapLiabilitiesCurrentAbstract_8a5ad6" order="14" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaapAccountsPayableCurrent_2ca6f8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_8a5ad6" xlink:to="loc_us-gaapAccountsPayableCurrent_2ca6f8" order="15" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaapAccruedLiabilitiesCurrent_2a1084" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_8a5ad6" xlink:to="loc_us-gaapAccruedLiabilitiesCurrent_2a1084" order="16" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityCurrent_0b806f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_8a5ad6" xlink:to="loc_us-gaapOperatingLeaseLiabilityCurrent_0b806f" order="17" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueCurrent" xlink:label="loc_us-gaapDeferredRevenueCurrent_303dbd" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_8a5ad6" xlink:to="loc_us-gaapDeferredRevenueCurrent_303dbd" order="18" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaapLiabilitiesCurrent_1daf19" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_8a5ad6" xlink:to="loc_us-gaapLiabilitiesCurrent_1daf19" order="19" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="loc_us-gaapOperatingLeaseLiabilityNoncurrent_af9414" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_8a5ad6" xlink:to="loc_us-gaapOperatingLeaseLiabilityNoncurrent_af9414" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueNoncurrent" xlink:label="loc_us-gaapDeferredRevenueNoncurrent_c4a44b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_8a5ad6" xlink:to="loc_us-gaapDeferredRevenueNoncurrent_c4a44b" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilities" xlink:label="loc_us-gaapOtherLiabilities_7a885f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_8a5ad6" xlink:to="loc_us-gaapOtherLiabilities_7a885f" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaapLiabilities_94b121" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_8a5ad6" xlink:to="loc_us-gaapLiabilities_94b121" order="23" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="loc_us-gaapCommitmentsAndContingencies_33e505" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_8a5ad6" xlink:to="loc_us-gaapCommitmentsAndContingencies_33e505" order="24" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaapStockholdersEquityAbstract_608941" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapLiabilitiesCurrentAbstract_8a5ad6" xlink:to="loc_us-gaapStockholdersEquityAbstract_608941" order="25" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockValue" xlink:label="loc_us-gaapPreferredStockValue_1901c8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract_608941" xlink:to="loc_us-gaapPreferredStockValue_1901c8" order="26" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="loc_us-gaapCommonStockValue_0b7ef4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract_608941" xlink:to="loc_us-gaapCommonStockValue_0b7ef4" order="27" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapital" xlink:label="loc_us-gaapAdditionalPaidInCapital_f6d728" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract_608941" xlink:to="loc_us-gaapAdditionalPaidInCapital_f6d728" order="28" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax_219550" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract_608941" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax_219550" order="29" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaapRetainedEarningsAccumulatedDeficit_a1f451" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract_608941" xlink:to="loc_us-gaapRetainedEarningsAccumulatedDeficit_a1f451" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_152d48" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract_608941" xlink:to="loc_us-gaapStockholdersEquity_152d48" order="31" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaapLiabilitiesAndStockholdersEquity_e0bc46" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStockholdersEquityAbstract_608941" xlink:to="loc_us-gaapLiabilitiesAndStockholdersEquity_e0bc46" order="32" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:title="000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaapStatementOfFinancialPositionAbstract_8f5c3a" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockNoParValue" xlink:label="loc_us-gaapPreferredStockNoParValue_87c2b9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract_8f5c3a" xlink:to="loc_us-gaapPreferredStockNoParValue_87c2b9" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesAuthorized" xlink:label="loc_us-gaapPreferredStockSharesAuthorized_67e486" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract_8f5c3a" xlink:to="loc_us-gaapPreferredStockSharesAuthorized_67e486" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesIssued" xlink:label="loc_us-gaapPreferredStockSharesIssued_161557" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract_8f5c3a" xlink:to="loc_us-gaapPreferredStockSharesIssued_161557" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PreferredStockSharesOutstanding" xlink:label="loc_us-gaapPreferredStockSharesOutstanding_7057c9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract_8f5c3a" xlink:to="loc_us-gaapPreferredStockSharesOutstanding_7057c9" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaapCommonStockParOrStatedValuePerShare_303e09" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract_8f5c3a" xlink:to="loc_us-gaapCommonStockParOrStatedValuePerShare_303e09" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaapCommonStockSharesAuthorized_6ad647" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract_8f5c3a" xlink:to="loc_us-gaapCommonStockSharesAuthorized_6ad647" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaapCommonStockSharesIssued_2a014a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract_8f5c3a" xlink:to="loc_us-gaapCommonStockSharesIssued_2a014a" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="loc_us-gaapCommonStockSharesOutstanding_241ab0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfFinancialPositionAbstract_8f5c3a" xlink:to="loc_us-gaapCommonStockSharesOutstanding_241ab0" order="8" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited" xlink:title="000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaapIncomeStatementAbstract_9ebc65" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_624e4b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementAbstract_9ebc65" xlink:to="loc_us-gaapStatementTable_624e4b" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_3c84ca" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_624e4b" xlink:to="loc_us-gaapStatementLineItems_3c84ca" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis_1161a7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_624e4b" xlink:to="loc_srtProductOrServiceAxis_1161a7" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_4b7fc6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductOrServiceAxis_1161a7" xlink:to="loc_srtProductsAndServicesDomain_4b7fc6" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductMember" xlink:label="loc_us-gaapProductMember_9960c6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain_4b7fc6" xlink:to="loc_us-gaapProductMember_9960c6" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ServiceMember" xlink:label="loc_us-gaapServiceMember_d56cc0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain_4b7fc6" xlink:to="loc_us-gaapServiceMember_d56cc0" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesAbstract" xlink:label="loc_us-gaapRevenuesAbstract_7554c1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_3c84ca" xlink:to="loc_us-gaapRevenuesAbstract_7554c1" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_6d2446" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenuesAbstract_7554c1" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_6d2446" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenueAbstract" xlink:label="loc_us-gaapCostOfRevenueAbstract_a93a61" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenuesAbstract_7554c1" xlink:to="loc_us-gaapCostOfRevenueAbstract_a93a61" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="loc_us-gaapCostOfRevenue_b733b3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCostOfRevenueAbstract_a93a61" xlink:to="loc_us-gaapCostOfRevenue_b733b3" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit_6b4792" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCostOfRevenueAbstract_a93a61" xlink:to="loc_us-gaapGrossProfit_6b4792" order="5" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="loc_us-gaapOperatingExpensesAbstract_79183e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCostOfRevenueAbstract_a93a61" xlink:to="loc_us-gaapOperatingExpensesAbstract_79183e" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense_55ff1d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract_79183e" xlink:to="loc_us-gaapResearchAndDevelopmentExpense_55ff1d" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaapSellingGeneralAndAdministrativeExpense_5bb1f2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract_79183e" xlink:to="loc_us-gaapSellingGeneralAndAdministrativeExpense_5bb1f2" order="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses_602624" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract_79183e" xlink:to="loc_us-gaapOperatingExpenses_602624" order="9" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss_101528" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract_79183e" xlink:to="loc_us-gaapOperatingIncomeLoss_101528" order="10" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNet" xlink:label="loc_us-gaapInterestIncomeExpenseNet_730284" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract_79183e" xlink:to="loc_us-gaapInterestIncomeExpenseNet_730284" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaapOtherNonoperatingIncomeExpense_008ca0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract_79183e" xlink:to="loc_us-gaapOtherNonoperatingIncomeExpense_008ca0" order="12" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_e23f35" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract_79183e" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_e23f35" order="13" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit_90fbc7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract_79183e" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit_90fbc7" order="14" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_f105c2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract_79183e" xlink:to="loc_us-gaapNetIncomeLoss_f105c2" order="15" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract_964aed" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOperatingExpensesAbstract_79183e" xlink:to="loc_us-gaapEarningsPerShareAbstract_964aed" order="16" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic_169261" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract_964aed" xlink:to="loc_us-gaapEarningsPerShareBasic_169261" order="17" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted_c0699f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract_964aed" xlink:to="loc_us-gaapEarningsPerShareDiluted_c0699f" order="18" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasicAbstract_ad9fa5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract_964aed" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasicAbstract_ad9fa5" order="19" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesIssuedBasic_536190" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasicAbstract_ad9fa5" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesIssuedBasic_536190" order="20" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding_181b60" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasicAbstract_ad9fa5" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding_181b60" order="21" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/CondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited" xlink:title="000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Unaudited)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="loc_us-gaapStatementOfIncomeAndComprehensiveIncomeAbstract_39b296" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_30b49b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfIncomeAndComprehensiveIncomeAbstract_39b296" xlink:to="loc_us-gaapNetIncomeLoss_30b49b" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossTaxAbstract_56973d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfIncomeAndComprehensiveIncomeAbstract_39b296" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossTaxAbstract_56973d" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_524219" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossTaxAbstract_56973d" xlink:to="loc_us-gaapOtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax_524219" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_d9b1be" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossTaxAbstract_56973d" xlink:to="loc_us-gaapOtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_d9b1be" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaapComprehensiveIncomeNetOfTax_e8e8aa" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLossTaxAbstract_56973d" xlink:to="loc_us-gaapComprehensiveIncomeNetOfTax_e8e8aa" order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited" xlink:title="000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaapStatementOfStockholdersEquityAbstract_05fbbe" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_acd3a7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfStockholdersEquityAbstract_05fbbe" xlink:to="loc_us-gaapStatementTable_acd3a7" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_72f8e1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_acd3a7" xlink:to="loc_us-gaapStatementLineItems_72f8e1" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis_86637d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_acd3a7" xlink:to="loc_us-gaapStatementEquityComponentsAxis_86637d" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_dcddd6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementEquityComponentsAxis_86637d" xlink:to="loc_us-gaapEquityComponentDomain_dcddd6" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember_51c0e3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain_dcddd6" xlink:to="loc_us-gaapCommonStockMember_51c0e3" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaapAdditionalPaidInCapitalMember_9a7eeb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain_dcddd6" xlink:to="loc_us-gaapAdditionalPaidInCapitalMember_9a7eeb" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember_e43346" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain_dcddd6" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember_e43346" order="23" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember_76f0f8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityComponentDomain_dcddd6" xlink:to="loc_us-gaapRetainedEarningsMember_76f0f8" order="24" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesIssued" xlink:label="loc_us-gaapSharesIssued_93ef6a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f8e1" xlink:to="loc_us-gaapSharesIssued_93ef6a" order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_e8a54d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f8e1" xlink:to="loc_us-gaapStockholdersEquity_e8a54d" order="2" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesShareBasedCompensation_5f36de" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f8e1" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesShareBasedCompensation_5f36de" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensation_b23567" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f8e1" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensation_b23567" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="loc_us-gaapSharesPaidForTaxWithholdingForShareBasedCompensation_b8b8ac" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f8e1" xlink:to="loc_us-gaapSharesPaidForTaxWithholdingForShareBasedCompensation_b8b8ac" order="5" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="loc_us-gaapPaymentsRelatedToTaxWithholdingForShareBasedCompensation_d47299" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f8e1" xlink:to="loc_us-gaapPaymentsRelatedToTaxWithholdingForShareBasedCompensation_d47299" order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsShares" xlink:label="loc_aehrProceedsFromPublicOfferingNetOfIssuanceCostsShares_062ba8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f8e1" xlink:to="loc_aehrProceedsFromPublicOfferingNetOfIssuanceCostsShares_062ba8" order="7" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsAmount" xlink:label="loc_aehrProceedsFromPublicOfferingNetOfIssuanceCostsAmount_56dcb6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f8e1" xlink:to="loc_aehrProceedsFromPublicOfferingNetOfIssuanceCostsAmount_56dcb6" order="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_aee76a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f8e1" xlink:to="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_aee76a" order="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_779758" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f8e1" xlink:to="loc_us-gaapNetIncomeLoss_779758" order="10" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_5da30e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f8e1" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_5da30e" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrealizedGainLossOnInvestments" xlink:label="loc_us-gaapUnrealizedGainLossOnInvestments_af1e03" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f8e1" xlink:to="loc_us-gaapUnrealizedGainLossOnInvestments_af1e03" order="12" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_IssuanceCostOfCommonStockOffering" xlink:label="loc_aehrIssuanceCostOfCommonStockOffering_34eb42" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f8e1" xlink:to="loc_aehrIssuanceCostOfCommonStockOffering_34eb42" order="13" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesIssued" xlink:label="loc_us-gaapSharesIssued_3f9110" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f8e1" xlink:to="loc_us-gaapSharesIssued_3f9110" order="14" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity_65f7ca" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_72f8e1" xlink:to="loc_us-gaapStockholdersEquity_65f7ca" order="15" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:title="000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaapStatementOfCashFlowsAbstract_2824b3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract_43ea9c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementOfCashFlowsAbstract_2824b3" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract_43ea9c" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProfitLoss" xlink:label="loc_us-gaapProfitLoss_800bd0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract_43ea9c" xlink:to="loc_us-gaapProfitLoss_800bd0" order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3085fe" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInOperatingActivitiesAbstract_43ea9c" xlink:to="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3085fe" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="loc_us-gaapShareBasedCompensation_79dce8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3085fe" xlink:to="loc_us-gaapShareBasedCompensation_79dce8" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="loc_us-gaapDepreciationAndAmortization_22ec90" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3085fe" xlink:to="loc_us-gaapDepreciationAndAmortization_22ec90" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:label="loc_us-gaapAccretionAmortizationOfDiscountsAndPremiumsInvestments_ef0807" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3085fe" xlink:to="loc_us-gaapAccretionAmortizationOfDiscountsAndPremiumsInvestments_ef0807" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense" xlink:label="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense_adb3da" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3085fe" xlink:to="loc_us-gaapOperatingLeaseRightOfUseAssetAmortizationExpense_adb3da" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProvisionForDoubtfulAccounts" xlink:label="loc_us-gaapProvisionForDoubtfulAccounts_50c46c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3085fe" xlink:to="loc_us-gaapProvisionForDoubtfulAccounts_50c46c" order="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract_79d4ca" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_3085fe" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract_79d4ca" order="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsReceivable_c4acd4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract_79d4ca" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsReceivable_c4acd4" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaapIncreaseDecreaseInInventories_8c42d4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract_79d4ca" xlink:to="loc_us-gaapIncreaseDecreaseInInventories_8c42d4" order="11" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaapIncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_2b03a5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract_79d4ca" xlink:to="loc_us-gaapIncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_2b03a5" order="12" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccountsPayable_22ed20" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract_79d4ca" xlink:to="loc_us-gaapIncreaseDecreaseInAccountsPayable_22ed20" order="13" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedLiabilities_8fc28d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract_79d4ca" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedLiabilities_8fc28d" order="14" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="loc_us-gaapIncreaseDecreaseInDeferredRevenue_b02649" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract_79d4ca" xlink:to="loc_us-gaapIncreaseDecreaseInDeferredRevenue_b02649" order="15" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingLeaseLiability" xlink:label="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability_fb9ae2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract_79d4ca" xlink:to="loc_us-gaapIncreaseDecreaseInOperatingLeaseLiability_fb9ae2" order="16" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:label="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable_3518c1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract_79d4ca" xlink:to="loc_us-gaapIncreaseDecreaseInAccruedIncomeTaxesPayable_3518c1" order="17" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInOperatingActivities_537f9c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract_79d4ca" xlink:to="loc_us-gaapNetCashProvidedByUsedInOperatingActivities_537f9c" order="18" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract_0774aa" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncreaseDecreaseInOperatingCapitalAbstract_79d4ca" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract_0774aa" order="19" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment_cb0aa2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract_0774aa" xlink:to="loc_us-gaapPaymentsToAcquirePropertyPlantAndEquipment_cb0aa2" order="20" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromSaleAndMaturityOfOtherInvestments" xlink:label="loc_us-gaapProceedsFromSaleAndMaturityOfOtherInvestments_09b8b6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract_0774aa" xlink:to="loc_us-gaapProceedsFromSaleAndMaturityOfOtherInvestments_09b8b6" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaapPaymentsToAcquireInvestments_abd8fb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract_0774aa" xlink:to="loc_us-gaapPaymentsToAcquireInvestments_abd8fb" order="22" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInInvestingActivities_d3a17f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract_0774aa" xlink:to="loc_us-gaapNetCashProvidedByUsedInInvestingActivities_d3a17f" order="23" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract_e3367c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInInvestingActivitiesAbstract_0774aa" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract_e3367c" order="24" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="loc_us-gaapProceedsFromIssuanceOfCommonStock_36f7a0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract_e3367c" xlink:to="loc_us-gaapProceedsFromIssuanceOfCommonStock_36f7a0" order="25" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="loc_us-gaapPaymentsRelatedToTaxWithholdingForShareBasedCompensation_db7d99" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract_e3367c" xlink:to="loc_us-gaapPaymentsRelatedToTaxWithholdingForShareBasedCompensation_db7d99" order="26" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromIssuanceInitialPublicOffering" xlink:label="loc_us-gaapProceedsFromIssuanceInitialPublicOffering_5f39ec" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract_e3367c" xlink:to="loc_us-gaapProceedsFromIssuanceInitialPublicOffering_5f39ec" order="27" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaapNetCashProvidedByUsedInFinancingActivities_714a2e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract_e3367c" xlink:to="loc_us-gaapNetCashProvidedByUsedInFinancingActivities_714a2e" order="28" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_1fdecc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract_e3367c" xlink:to="loc_us-gaapEffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_1fdecc" order="29" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_156b85" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract_e3367c" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_156b85" order="30" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_0f52ee" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract_e3367c" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_0f52ee" order="31" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_c40662" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapNetCashProvidedByUsedInFinancingActivitiesAbstract_e3367c" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_c40662" order="32" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/OrganizationAndSignificantAccountingPolicies" xlink:title="000008 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract_c74ed4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="loc_us-gaapBusinessDescriptionAndAccountingPoliciesTextBlock_acd197" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract_c74ed4" xlink:to="loc_us-gaapBusinessDescriptionAndAccountingPoliciesTextBlock_acd197" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/FairValueOfFinancialInstruments" xlink:title="000009 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaapFairValueDisclosuresAbstract_f6d09b" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="loc_us-gaapFairValueDisclosuresTextBlock_40948c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract_f6d09b" xlink:to="loc_us-gaapFairValueDisclosuresTextBlock_40948c" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/BalanceSheetInformation" xlink:title="000010 - Disclosure - BALANCE SHEET INFORMATION">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:label="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_e39e75" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock" xlink:label="loc_us-gaapSupplementalBalanceSheetDisclosuresTextBlock_c7156d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_e39e75" xlink:to="loc_us-gaapSupplementalBalanceSheetDisclosuresTextBlock_c7156d" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/IncomeTax" xlink:title="000011 - Disclosure - INCOME TAX">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract_1e521f" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaapIncomeTaxDisclosureTextBlock_d4f587" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract_1e521f" xlink:to="loc_us-gaapIncomeTaxDisclosureTextBlock_d4f587" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/BorrowingArrangements" xlink:title="000012 - Disclosure - BORROWING ARRANGEMENTS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract_af24d2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="loc_us-gaapDebtDisclosureTextBlock_34809b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract_af24d2" xlink:to="loc_us-gaapDebtDisclosureTextBlock_34809b" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/CommitmentsAndContingencies" xlink:title="000013 - Disclosure - COMMITMENTS AND CONTINGENCIES">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract_f6a13f" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="loc_us-gaapCommitmentsAndContingenciesDisclosureTextBlock_f81a59" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapCommitmentsAndContingenciesDisclosureAbstract_f6a13f" xlink:to="loc_us-gaapCommitmentsAndContingenciesDisclosureTextBlock_f81a59" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/ShareholdersEquity" xlink:title="000014 - Disclosure - SHAREHOLDERS EQUITY">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract_38bf11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="loc_us-gaapStockholdersEquityNoteDisclosureTextBlock_58ebea" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract_38bf11" xlink:to="loc_us-gaapStockholdersEquityNoteDisclosureTextBlock_58ebea" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/AccumulatedOtherComprehensiveLoss" xlink:title="000015 - Disclosure - ACCUMULATED OTHER COMPREHENSIVE LOSS">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract_29bf1a" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNoteTextBlock" xlink:label="loc_us-gaapComprehensiveIncomeNoteTextBlock_a9d728" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract_29bf1a" xlink:to="loc_us-gaapComprehensiveIncomeNoteTextBlock_a9d728" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/REVENUE" xlink:title="000016 - Disclosure - REVENUE">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract_cc3cc6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="loc_us-gaapRevenueFromContractWithCustomerTextBlock_a7c525" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract_cc3cc6" xlink:to="loc_us-gaapRevenueFromContractWithCustomerTextBlock_a7c525" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/StockBasedCompensation" xlink:title="000017 - Disclosure - STOCK-BASED COMPENSATION">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_3eae15" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_f4e334" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_3eae15" xlink:to="loc_us-gaapDisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_f4e334" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/NetIncomeLossPerShare" xlink:title="000018 - Disclosure - NET INCOME (LOSS) PER SHARE">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract_29098b" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="loc_us-gaapEarningsPerShareTextBlock_6d0596" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract_29098b" xlink:to="loc_us-gaapEarningsPerShareTextBlock_6d0596" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/SegmentAndConcentrationInformation" xlink:title="000019 - Disclosure - SEGMENT AND CONCENTRATION INFORMATION">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract_ef5c62" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingDisclosureTextBlock" xlink:label="loc_us-gaapSegmentReportingDisclosureTextBlock_65f983" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract_ef5c62" xlink:to="loc_us-gaapSegmentReportingDisclosureTextBlock_65f983" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" xlink:title="000020 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Policies)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract_5d4ff9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="loc_us-gaapBusinessDescriptionAndBasisOfPresentationTextBlock_0f76b6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract_5d4ff9" xlink:to="loc_us-gaapBusinessDescriptionAndBasisOfPresentationTextBlock_0f76b6" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaapBasisOfPresentationAndSignificantAccountingPoliciesTextBlock_a01834" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract_5d4ff9" xlink:to="loc_us-gaapBasisOfPresentationAndSignificantAccountingPoliciesTextBlock_a01834" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConsolidationPolicyTextBlock" xlink:label="loc_us-gaapConsolidationPolicyTextBlock_40aba4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract_5d4ff9" xlink:to="loc_us-gaapConsolidationPolicyTextBlock_40aba4" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates" xlink:label="loc_us-gaapUseOfEstimates_d3ae7f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract_5d4ff9" xlink:to="loc_us-gaapUseOfEstimates_d3ae7f" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Reclassifications" xlink:label="loc_us-gaapReclassifications_8397d5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract_5d4ff9" xlink:to="loc_us-gaapReclassifications_8397d5" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskCreditRisk" xlink:label="loc_us-gaapConcentrationRiskCreditRisk_74c58f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract_5d4ff9" xlink:to="loc_us-gaapConcentrationRiskCreditRisk_74c58f" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock_2a3fdb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract_5d4ff9" xlink:to="loc_us-gaapNewAccountingPronouncementsPolicyPolicyTextBlock_2a3fdb" order="7" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_RecentAccountingPronouncementsNotYetAdoptedPolicyTextBlock" xlink:label="loc_aehrRecentAccountingPronouncementsNotYetAdoptedPolicyTextBlock_8d7f6b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract_5d4ff9" xlink:to="loc_aehrRecentAccountingPronouncementsNotYetAdoptedPolicyTextBlock_8d7f6b" order="8" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesTables" xlink:title="000021 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract_26e3ab" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ScheduleOfFinancialInstrumentsTextblock" xlink:label="loc_aehrScheduleOfFinancialInstrumentsTextblock_755bae" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract_26e3ab" xlink:to="loc_aehrScheduleOfFinancialInstrumentsTextblock_755bae" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/FairValueOfFinancialInstrumentsTables" xlink:title="000022 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaapFairValueDisclosuresAbstract_0eee39" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:label="loc_us-gaapScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_e59abc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract_0eee39" xlink:to="loc_us-gaapScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_e59abc" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" xlink:label="loc_us-gaapScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock_ec252f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract_0eee39" xlink:to="loc_us-gaapScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock_ec252f" order="2" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/BalanceSheetInformationTables" xlink:title="000023 - Disclosure - BALANCE SHEET INFORMATION (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:label="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_d6caac" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock_2aa5c8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_d6caac" xlink:to="loc_us-gaapScheduleOfInventoryCurrentTableTextBlock_2aa5c8" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="loc_us-gaapPropertyPlantAndEquipmentTextBlock_9fc1cb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_d6caac" xlink:to="loc_us-gaapPropertyPlantAndEquipmentTextBlock_9fc1cb" order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="loc_us-gaapScheduleOfProductWarrantyLiabilityTableTextBlock_f47b31" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_d6caac" xlink:to="loc_us-gaapScheduleOfProductWarrantyLiabilityTableTextBlock_f47b31" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueByArrangementDisclosureTextBlock" xlink:label="loc_us-gaapDeferredRevenueByArrangementDisclosureTextBlock_d10de6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_d6caac" xlink:to="loc_us-gaapDeferredRevenueByArrangementDisclosureTextBlock_d10de6" order="4" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/AccumulatedOtherComprehensiveLossTables" xlink:title="000024 - Disclosure - ACCUMULATED OTHER COMPREHENSIVE LOSS (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract_ea10a3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock" xlink:label="loc_us-gaapScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_fcbdd9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract_ea10a3" xlink:to="loc_us-gaapScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock_fcbdd9" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/RevenueTables" xlink:title="000025 - Disclosure - REVENUE (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract_759134" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="loc_us-gaapDisaggregationOfRevenueTableTextBlock_101b0d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract_759134" xlink:to="loc_us-gaapDisaggregationOfRevenueTableTextBlock_101b0d" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/StockbasedCompensationTables" xlink:title="000026 - Disclosure - STOCKBASED COMPENSATION (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_9f8a75" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_9d49f9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_9f8a75" xlink:to="loc_us-gaapScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_9d49f9" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock" xlink:label="loc_us-gaapScheduleOfShareBasedCompensationActivityTableTextBlock_3f8a99" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_9f8a75" xlink:to="loc_us-gaapScheduleOfShareBasedCompensationActivityTableTextBlock_3f8a99" order="2" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/NetIncomeLossPerShareTables" xlink:title="000027 - Disclosure - NET INCOME (LOSS) PER SHARE (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract_03af9e" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="loc_us-gaapScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_e25994" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract_03af9e" xlink:to="loc_us-gaapScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_e25994" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/SegmentAndConcentrationInformationTables" xlink:title="000028 - Disclosure - SEGMENT AND CONCENTRATION INFORMATION (Tables)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract_cb7fdc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:label="loc_us-gaapLongLivedAssetsByGeographicAreasTableTextBlock_99aa40" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract_cb7fdc" xlink:to="loc_us-gaapLongLivedAssetsByGeographicAreasTableTextBlock_99aa40" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetails" xlink:title="000029 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract_a7de92" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_03348c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract_a7de92" xlink:to="loc_us-gaapStatementTable_03348c" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_890099" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_03348c" xlink:to="loc_us-gaapStatementLineItems_890099" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis_c425bb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_03348c" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis_c425bb" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain_4e8e13" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis_c425bb" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain_4e8e13" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaapConcentrationRiskByTypeAxis_179e2c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_03348c" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis_179e2c" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain_1b153d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis_179e2c" xlink:to="loc_us-gaapConcentrationRiskTypeDomain_1b153d" order="40" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_RevenuesMember" xlink:label="loc_aehrRevenuesMember_c059d8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain_4e8e13" xlink:to="loc_aehrRevenuesMember_c059d8" order="41" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_CustomerBMember" xlink:label="loc_aehrCustomerBMember_94a1a6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTypeDomain_1b153d" xlink:to="loc_aehrCustomerBMember_94a1a6" order="42" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_CustomerCMember" xlink:label="loc_aehrCustomerCMember_db5926" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTypeDomain_1b153d" xlink:to="loc_aehrCustomerCMember_db5926" order="43" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember_864232" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain_4e8e13" xlink:to="loc_us-gaapAccountsReceivableMember_864232" order="44" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_CustomerAMember" xlink:label="loc_aehrCustomerAMember_bf2b65" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTypeDomain_1b153d" xlink:to="loc_aehrCustomerAMember_bf2b65" order="45" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaapConcentrationRiskPercentage1_500194" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_890099" xlink:to="loc_us-gaapConcentrationRiskPercentage1_500194" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" xlink:title="000030 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaapAccountingPoliciesAbstract_026f96" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_86ae3b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccountingPoliciesAbstract_026f96" xlink:to="loc_us-gaapStatementTable_86ae3b" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_5cc35c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_86ae3b" xlink:to="loc_us-gaapStatementLineItems_5cc35c" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaapConcentrationRiskByTypeAxis_130546" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_86ae3b" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis_130546" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain_0c80b8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis_130546" xlink:to="loc_us-gaapConcentrationRiskTypeDomain_0c80b8" order="10" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_RevenueMember" xlink:label="loc_aehrRevenueMember_2d8182" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapConcentrationRiskTypeDomain_0c80b8" xlink:to="loc_aehrRevenueMember_2d8182" order="11" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ConcentrationRiskPercentage" xlink:label="loc_aehrConcentrationRiskPercentage_c7d513" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5cc35c" xlink:to="loc_aehrConcentrationRiskPercentage_c7d513" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuritiesBorrowedAllowanceForCreditLoss" xlink:label="loc_us-gaapSecuritiesBorrowedAllowanceForCreditLoss_d5ff40" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_5cc35c" xlink:to="loc_us-gaapSecuritiesBorrowedAllowanceForCreditLoss_d5ff40" order="2" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/FairValueOfFinancialInstrumentsDetails" xlink:title="000031 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaapFairValueDisclosuresAbstract_9df931" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_a901ac" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract_9df931" xlink:to="loc_us-gaapStatementTable_a901ac" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_8bf202" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_a901ac" xlink:to="loc_us-gaapStatementLineItems_8bf202" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="loc_us-gaapFinancialInstrumentAxis_25e23c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_a901ac" xlink:to="loc_us-gaapFinancialInstrumentAxis_25e23c" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9b73e6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFinancialInstrumentAxis_25e23c" xlink:to="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9b73e6" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaapFairValueByFairValueHierarchyLevelAxis_46fa59" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_a901ac" xlink:to="loc_us-gaapFairValueByFairValueHierarchyLevelAxis_46fa59" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain_39e49b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueByFairValueHierarchyLevelAxis_46fa59" xlink:to="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain_39e49b" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis_26d4ff" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_a901ac" xlink:to="loc_us-gaapPlanNameAxis_26d4ff" order="60" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_6a1cbb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameAxis_26d4ff" xlink:to="loc_us-gaapPlanNameDomain_6a1cbb" order="60" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="loc_us-gaapFairValueByAssetClassAxis_aa8f11" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_a901ac" xlink:to="loc_us-gaapFairValueByAssetClassAxis_aa8f11" order="80" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_c143d3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueByAssetClassAxis_aa8f11" xlink:to="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_c143d3" order="80" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_MoneyMarketFundMember" xlink:label="loc_aehrMoneyMarketFundMember_02eef7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9b73e6" xlink:to="loc_aehrMoneyMarketFundMember_02eef7" order="81" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaapFairValueInputsLevel1Member_a60a35" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain_39e49b" xlink:to="loc_us-gaapFairValueInputsLevel1Member_a60a35" order="82" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="loc_us-gaapFairValueInputsLevel2Member_07a0d0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain_39e49b" xlink:to="loc_us-gaapFairValueInputsLevel2Member_07a0d0" order="83" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaapFairValueInputsLevel3Member_f0897f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain_39e49b" xlink:to="loc_us-gaapFairValueInputsLevel3Member_f0897f" order="84" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_UStreasurysecuritiesMember" xlink:label="loc_aehrUStreasurysecuritiesMember_877f10" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain_6a1cbb" xlink:to="loc_aehrUStreasurysecuritiesMember_877f10" order="85" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_USTreasurySecurityMember" xlink:label="loc_aehrUSTreasurySecurityMember_f77953" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_9b73e6" xlink:to="loc_aehrUSTreasurySecurityMember_f77953" order="86" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsMember" xlink:label="loc_us-gaapAssetsMember_e7bccf" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_c143d3" xlink:to="loc_us-gaapAssetsMember_e7bccf" order="87" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentsFairValueDisclosure" xlink:label="loc_us-gaapInvestmentsFairValueDisclosure_b7fa43" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8bf202" xlink:to="loc_us-gaapInvestmentsFairValueDisclosure_b7fa43" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1" xlink:title="000032 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaapFairValueDisclosuresAbstract_d1efbe" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_48d8ab" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract_d1efbe" xlink:to="loc_us-gaapStatementTable_48d8ab" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_0ff3f7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_48d8ab" xlink:to="loc_us-gaapStatementLineItems_0ff3f7" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis_c92dd6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_48d8ab" xlink:to="loc_us-gaapPlanNameAxis_c92dd6" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_68b527" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameAxis_c92dd6" xlink:to="loc_us-gaapPlanNameDomain_68b527" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="loc_us-gaapFinancialInstrumentAxis_ea8e73" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_48d8ab" xlink:to="loc_us-gaapFinancialInstrumentAxis_ea8e73" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_7ec7dd" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFinancialInstrumentAxis_ea8e73" xlink:to="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_7ec7dd" order="20" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_CostMember" xlink:label="loc_aehrCostMember_e60b30" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain_68b527" xlink:to="loc_aehrCostMember_e60b30" order="21" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_MoneyMarketFundMember" xlink:label="loc_aehrMoneyMarketFundMember_ec6316" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_7ec7dd" xlink:to="loc_aehrMoneyMarketFundMember_ec6316" order="22" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_GrossUnrealizedLossMember" xlink:label="loc_aehrGrossUnrealizedLossMember_301247" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain_68b527" xlink:to="loc_aehrGrossUnrealizedLossMember_301247" order="23" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_EstimatedFairValueMember" xlink:label="loc_aehrEstimatedFairValueMember_3aeade" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain_68b527" xlink:to="loc_aehrEstimatedFairValueMember_3aeade" order="24" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_UnitedStateTreasurySecuritiesMember" xlink:label="loc_aehrUnitedStateTreasurySecuritiesMember_60a91e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_7ec7dd" xlink:to="loc_aehrUnitedStateTreasurySecuritiesMember_60a91e" order="25" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashEquivalentsAtCarryingValue_49fb01" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_0ff3f7" xlink:to="loc_us-gaapCashEquivalentsAtCarryingValue_49fb01" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaapLongTermInvestments_af52b1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_0ff3f7" xlink:to="loc_us-gaapLongTermInvestments_af52b1" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash_22fe2a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_0ff3f7" xlink:to="loc_us-gaapCash_22fe2a" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue_e3296f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_0ff3f7" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue_e3296f" order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_cce0b7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_0ff3f7" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_cce0b7" order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsAndShortTermInvestments" xlink:label="loc_us-gaapCashCashEquivalentsAndShortTermInvestments_4ead12" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_0ff3f7" xlink:to="loc_us-gaapCashCashEquivalentsAndShortTermInvestments_4ead12" order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments" xlink:label="loc_us-gaapShortTermInvestments_bfa50a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_0ff3f7" xlink:to="loc_us-gaapShortTermInvestments_bfa50a" order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/FairValueOfFinancialInstrumentsDetailsNarrative" xlink:title="000033 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaapFairValueDisclosuresAbstract_db107a" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_FairValueAssetsLevelOneToLevelTwoTransfersAmount" xlink:label="loc_aehrFairValueAssetsLevelOneToLevelTwoTransfersAmount_6344d7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract_db107a" xlink:to="loc_aehrFairValueAssetsLevelOneToLevelTwoTransfersAmount_6344d7" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RestrictedCashNoncurrent" xlink:label="loc_us-gaapRestrictedCashNoncurrent_fbb066" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract_db107a" xlink:to="loc_us-gaapRestrictedCashNoncurrent_fbb066" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialLiabilitiesFairValueDisclosure" xlink:label="loc_us-gaapFinancialLiabilitiesFairValueDisclosure_3e836d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapFairValueDisclosuresAbstract_db107a" xlink:to="loc_us-gaapFinancialLiabilitiesFairValueDisclosure_3e836d" order="3" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/BalanceSheetInformationDetails" xlink:title="000034 - Disclosure - BALANCE SHEET INFORMATION (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:label="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_69a68b" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="loc_us-gaapInventoryRawMaterialsNetOfReserves_5a6672" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_69a68b" xlink:to="loc_us-gaapInventoryRawMaterialsNetOfReserves_5a6672" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="loc_us-gaapInventoryWorkInProcessNetOfReserves_46744e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_69a68b" xlink:to="loc_us-gaapInventoryWorkInProcessNetOfReserves_46744e" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="loc_us-gaapInventoryFinishedGoodsNetOfReserves_c7bd22" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_69a68b" xlink:to="loc_us-gaapInventoryFinishedGoodsNetOfReserves_c7bd22" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaapInventoryNet_fe5e93" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_69a68b" xlink:to="loc_us-gaapInventoryNet_fe5e93" order="4" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/BalanceSheetInformationDetails1" xlink:title="000035 - Disclosure - BALANCE SHEET INFORMATION (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:label="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_4dcd19" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeaseholdImprovementsGross" xlink:label="loc_us-gaapLeaseholdImprovementsGross_22d108" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_4dcd19" xlink:to="loc_us-gaapLeaseholdImprovementsGross_22d108" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FurnitureAndFixturesGross" xlink:label="loc_us-gaapFurnitureAndFixturesGross_273fd0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_4dcd19" xlink:to="loc_us-gaapFurnitureAndFixturesGross_273fd0" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_MachineryAndEquipmentGross" xlink:label="loc_us-gaapMachineryAndEquipmentGross_2ed841" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_4dcd19" xlink:to="loc_us-gaapMachineryAndEquipmentGross_2ed841" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentOther" xlink:label="loc_us-gaapPropertyPlantAndEquipmentOther_1f6b95" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_4dcd19" xlink:to="loc_us-gaapPropertyPlantAndEquipmentOther_1f6b95" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="loc_us-gaapPropertyPlantAndEquipmentGross_e555db" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_4dcd19" xlink:to="loc_us-gaapPropertyPlantAndEquipmentGross_e555db" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_a7d089" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_4dcd19" xlink:to="loc_us-gaapAccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_a7d089" order="6" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet_20b238" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_4dcd19" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet_20b238" order="7" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/BalanceSheetInformationDetails2" xlink:title="000036 - Disclosure - BALANCE SHEET INFORMATION (Details 2)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:label="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_c73efa" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="loc_us-gaapProductWarrantyAccrual_66969f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_c73efa" xlink:to="loc_us-gaapProductWarrantyAccrual_66969f" order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:label="loc_us-gaapProductWarrantyAccrualWarrantiesIssued_25396a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_c73efa" xlink:to="loc_us-gaapProductWarrantyAccrualWarrantiesIssued_25396a" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease" xlink:label="loc_us-gaapProductWarrantyAccrualPreexistingIncreaseDecrease_96979a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_c73efa" xlink:to="loc_us-gaapProductWarrantyAccrualPreexistingIncreaseDecrease_96979a" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="loc_us-gaapProductWarrantyAccrualPayments_ed087a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_c73efa" xlink:to="loc_us-gaapProductWarrantyAccrualPayments_ed087a" order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="loc_us-gaapProductWarrantyAccrual_ebda11" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_c73efa" xlink:to="loc_us-gaapProductWarrantyAccrual_ebda11" order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/BalanceSheetInformationDetails3" xlink:title="000037 - Disclosure - BALANCE SHEET INFORMATION (Details 3)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BalanceSheetRelatedDisclosuresAbstract" xlink:label="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_7718bc" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CustomerDepositsCurrent" xlink:label="loc_us-gaapCustomerDepositsCurrent_46d6ce" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_7718bc" xlink:to="loc_us-gaapCustomerDepositsCurrent_46d6ce" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenueAndCreditsCurrent" xlink:label="loc_us-gaapDeferredRevenueAndCreditsCurrent_8f5678" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_7718bc" xlink:to="loc_us-gaapDeferredRevenueAndCreditsCurrent_8f5678" order="2" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredRevenue" xlink:label="loc_us-gaapDeferredRevenue_560a21" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapBalanceSheetRelatedDisclosuresAbstract_7718bc" xlink:to="loc_us-gaapDeferredRevenue_560a21" order="3" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/IncomeTaxesDetailsNarrative" xlink:title="000038 - Disclosure - INCOME TAXES (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaapIncomeTaxDisclosureAbstract_5ea42b" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit_571513" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxDisclosureAbstract_5ea42b" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit_571513" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/BorrowingArrangementsDetailsNarrative" xlink:title="000039 - Disclosure - BORROWING ARRANGEMENTS (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="loc_us-gaapDebtDisclosureAbstract_5946e6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_95d3e2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDebtDisclosureAbstract_5946e6" xlink:to="loc_us-gaapStatementTable_95d3e2" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_d59eb3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_95d3e2" xlink:to="loc_us-gaapStatementLineItems_d59eb3" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis_f353fa" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_95d3e2" xlink:to="loc_us-gaapPlanNameAxis_f353fa" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_2b9539" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameAxis_f353fa" xlink:to="loc_us-gaapPlanNameDomain_2b9539" order="10" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_OriginalLoanAndSecurityAgreementMember" xlink:label="loc_aehrOriginalLoanAndSecurityAgreementMember_f3d68b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain_2b9539" xlink:to="loc_aehrOriginalLoanAndSecurityAgreementMember_f3d68b" order="11" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_SecondAmendmentToLoanAndSecurityAgreementMember" xlink:label="loc_aehrSecondAmendmentToLoanAndSecurityAgreementMember_f46226" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain_2b9539" xlink:to="loc_aehrSecondAmendmentToLoanAndSecurityAgreementMember_f46226" order="12" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_FirstAmendmentToLoanAndSecurityAgreementMember" xlink:label="loc_aehrFirstAmendmentToLoanAndSecurityAgreementMember_289309" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain_2b9539" xlink:to="loc_aehrFirstAmendmentToLoanAndSecurityAgreementMember_289309" order="13" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ThirdAmendmentToLoanAndSecurityAgreementMember" xlink:label="loc_aehrThirdAmendmentToLoanAndSecurityAgreementMember_10f8d4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapPlanNameDomain_2b9539" xlink:to="loc_aehrThirdAmendmentToLoanAndSecurityAgreementMember_10f8d4" order="14" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity_2ec3b6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_d59eb3" xlink:to="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity_2ec3b6" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateTerms" xlink:label="loc_us-gaapDebtInstrumentInterestRateTerms_2a0be2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_d59eb3" xlink:to="loc_us-gaapDebtInstrumentInterestRateTerms_2a0be2" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityExpirationDate1" xlink:label="loc_us-gaapLineOfCreditFacilityExpirationDate1_153017" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_d59eb3" xlink:to="loc_us-gaapLineOfCreditFacilityExpirationDate1_153017" order="3" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_RevolvingLineTerminationDate" xlink:label="loc_aehrRevolvingLineTerminationDate_0c2744" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_d59eb3" xlink:to="loc_aehrRevolvingLineTerminationDate_0c2744" order="4" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_AmountOfMinimumNetLiquidityOfCreditFacility" xlink:label="loc_aehrAmountOfMinimumNetLiquidityOfCreditFacility_23d9ad" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_d59eb3" xlink:to="loc_aehrAmountOfMinimumNetLiquidityOfCreditFacility_23d9ad" order="5" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/ShareholdersEquityDetailsNarrative" xlink:title="000040 - Disclosure - SHAREHOLDERS EQUITY (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaapEquityAbstract_50b5c1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockPricePerShare" xlink:label="loc_us-gaapSaleOfStockPricePerShare_c68688" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract_50b5c1" xlink:to="loc_us-gaapSaleOfStockPricePerShare_c68688" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction" xlink:label="loc_us-gaapSaleOfStockNumberOfSharesIssuedInTransaction_2d69b4" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract_50b5c1" xlink:to="loc_us-gaapSaleOfStockNumberOfSharesIssuedInTransaction_2d69b4" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProceedsFromOtherEquity" xlink:label="loc_us-gaapProceedsFromOtherEquity_7287d0" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract_50b5c1" xlink:to="loc_us-gaapProceedsFromOtherEquity_7287d0" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SalesCommissionsAndFees" xlink:label="loc_us-gaapSalesCommissionsAndFees_e43172" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract_50b5c1" xlink:to="loc_us-gaapSalesCommissionsAndFees_e43172" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoninterestExpenseOfferingCost" xlink:label="loc_us-gaapNoninterestExpenseOfferingCost_a29fde" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract_50b5c1" xlink:to="loc_us-gaapNoninterestExpenseOfferingCost_a29fde" order="5" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_OutstandingAmounTofATMOffering" xlink:label="loc_aehrOutstandingAmounTofATMOffering_7c68b5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract_50b5c1" xlink:to="loc_aehrOutstandingAmounTofATMOffering_7c68b5" order="6" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ShelfRegistrationAmount" xlink:label="loc_aehrShelfRegistrationAmount_0f5c4b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEquityAbstract_50b5c1" xlink:to="loc_aehrShelfRegistrationAmount_0f5c4b" order="7" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/AccumulatedOtherComprehensiveLossDetails" xlink:title="000041 - Disclosure - ACCUMULATED OTHER COMPREHENSIVE LOSS (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract_6d2f95" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_1a6dc7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract_6d2f95" xlink:to="loc_us-gaapStatementTable_1a6dc7" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_2636a5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_1a6dc7" xlink:to="loc_us-gaapStatementLineItems_2636a5" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis_7f84d3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_1a6dc7" xlink:to="loc_srtProductOrServiceAxis_7f84d3" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_711541" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductOrServiceAxis_7f84d3" xlink:to="loc_srtProductsAndServicesDomain_711541" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLocationAxis" xlink:label="loc_us-gaapOtherComprehensiveIncomeLocationAxis_ebff85" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_1a6dc7" xlink:to="loc_us-gaapOtherComprehensiveIncomeLocationAxis_ebff85" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLocationDomain" xlink:label="loc_us-gaapOtherComprehensiveIncomeLocationDomain_76e770" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLocationAxis_ebff85" xlink:to="loc_us-gaapOtherComprehensiveIncomeLocationDomain_76e770" order="30" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_CumulativeTranslationAdjustmentsMember" xlink:label="loc_aehrCumulativeTranslationAdjustmentsMember_3a4749" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain_711541" xlink:to="loc_aehrCumulativeTranslationAdjustmentsMember_3a4749" order="31" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_UnrealizedLossOnInvestmentsMember" xlink:label="loc_aehrUnrealizedLossOnInvestmentsMember_5ae7bc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapOtherComprehensiveIncomeLocationDomain_76e770" xlink:to="loc_aehrUnrealizedLossOnInvestmentsMember_5ae7bc" order="32" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax_a61f3e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_2636a5" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax_a61f3e" order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossBeforeReclassificationsTax_560610" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_2636a5" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossBeforeReclassificationsTax_560610" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax_b5e37a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_2636a5" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax_b5e37a" order="3" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/RevenueDetails" xlink:title="000042 - Disclosure - REVENUE (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract_e00092" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_300c3c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract_e00092" xlink:to="loc_us-gaapStatementTable_300c3c" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_8b4700" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_300c3c" xlink:to="loc_us-gaapStatementLineItems_8b4700" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis_a8f94c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_300c3c" xlink:to="loc_srtStatementGeographicalAxis_a8f94c" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain_5ad68a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementGeographicalAxis_a8f94c" xlink:to="loc_srtSegmentGeographicalDomain_5ad68a" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EuropeMember" xlink:label="loc_srtEuropeMember_7e4db8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain_5ad68a" xlink:to="loc_srtEuropeMember_7e4db8" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_AsiaMember" xlink:label="loc_srtAsiaMember_3a81cb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain_5ad68a" xlink:to="loc_srtAsiaMember_3a81cb" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="loc_countryUS_76d663" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain_5ad68a" xlink:to="loc_countryUS_76d663" order="23" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_578fd7" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_8b4700" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_578fd7" order="1" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/RevenueDetails1" xlink:title="000043 - Disclosure - REVENUE (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract_e0388f" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_584503" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract_e0388f" xlink:to="loc_us-gaapStatementTable_584503" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_bb3bc8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_584503" xlink:to="loc_us-gaapStatementLineItems_bb3bc8" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis_9590a8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_584503" xlink:to="loc_srtProductOrServiceAxis_9590a8" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_805cfa" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductOrServiceAxis_9590a8" xlink:to="loc_srtProductsAndServicesDomain_805cfa" order="10" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_SystemsMember" xlink:label="loc_aehrSystemsMember_e6c414" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain_805cfa" xlink:to="loc_aehrSystemsMember_e6c414" order="11" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ServicesMember" xlink:label="loc_aehrServicesMember_fa87c2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain_805cfa" xlink:to="loc_aehrServicesMember_fa87c2" order="12" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ContactorsMember" xlink:label="loc_aehrContactorsMember_324362" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtProductsAndServicesDomain_805cfa" xlink:to="loc_aehrContactorsMember_324362" order="13" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_ff7917" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_bb3bc8" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_ff7917" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/RevenueDetails2" xlink:title="000044 - Disclosure - REVENUE (Details 2)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract_0591cd" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_b9a757" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract_0591cd" xlink:to="loc_us-gaapStatementTable_b9a757" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_168a54" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_b9a757" xlink:to="loc_us-gaapStatementLineItems_168a54" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis_8f31c3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_b9a757" xlink:to="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis_8f31c3" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain_675fa2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis_8f31c3" xlink:to="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain_675fa2" order="20" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ProductsAndServicesTransferredAtAPointInTimeMember" xlink:label="loc_aehrProductsAndServicesTransferredAtAPointInTimeMember_d60b3a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain_675fa2" xlink:to="loc_aehrProductsAndServicesTransferredAtAPointInTimeMember_d60b3a" order="21" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ServicesTransferredOverTimeMember" xlink:label="loc_aehrServicesTransferredOverTimeMember_f18cd1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain_675fa2" xlink:to="loc_aehrServicesTransferredOverTimeMember_f18cd1" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_da8f06" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_168a54" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax_da8f06" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/RevenueDetailsNarrative" xlink:title="000045 - Disclosure - REVENUE (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="loc_us-gaapRevenueFromContractWithCustomerAbstract_6d4597" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_e91b1a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapRevenueFromContractWithCustomerAbstract_6d4597" xlink:to="loc_us-gaapStatementTable_e91b1a" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_51c271" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_e91b1a" xlink:to="loc_us-gaapStatementLineItems_51c271" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementScenarioAxis" xlink:label="loc_srtStatementScenarioAxis_7921c6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_e91b1a" xlink:to="loc_srtStatementScenarioAxis_7921c6" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="loc_srtScenarioUnspecifiedDomain_00d569" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementScenarioAxis_7921c6" xlink:to="loc_srtScenarioUnspecifiedDomain_00d569" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaapSubsequentEventTypeAxis_bf70b9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_e91b1a" xlink:to="loc_us-gaapSubsequentEventTypeAxis_bf70b9" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain_c833a6" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTypeAxis_bf70b9" xlink:to="loc_us-gaapSubsequentEventTypeDomain_c833a6" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioForecastMember" xlink:label="loc_srtScenarioForecastMember_2119fc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtScenarioUnspecifiedDomain_00d569" xlink:to="loc_srtScenarioForecastMember_2119fc" order="41" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaapSubsequentEventMember_77185f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSubsequentEventTypeDomain_c833a6" xlink:to="loc_us-gaapSubsequentEventMember_77185f" order="42" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="loc_us-gaapContractWithCustomerLiability_1b3191" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_51c271" xlink:to="loc_us-gaapContractWithCustomerLiability_1b3191" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNet" xlink:label="loc_us-gaapContractWithCustomerAssetNet_5a68ab" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_51c271" xlink:to="loc_us-gaapContractWithCustomerAssetNet_5a68ab" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="loc_us-gaapContractWithCustomerLiabilityRevenueRecognized_9bb356" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_51c271" xlink:to="loc_us-gaapContractWithCustomerLiabilityRevenueRecognized_9bb356" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="loc_us-gaapRevenueRemainingPerformanceObligation_cc4c82" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_51c271" xlink:to="loc_us-gaapRevenueRemainingPerformanceObligation_cc4c82" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:label="loc_us-gaapRevenueRemainingPerformanceObligationPercentage_73025b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_51c271" xlink:to="loc_us-gaapRevenueRemainingPerformanceObligationPercentage_73025b" order="5" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/StockBasedCompensationDetails" xlink:title="000046 - Disclosure - STOCK-BASED COMPENSATION (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_ab4155" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_5994e3" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_ab4155" xlink:to="loc_us-gaapStatementTable_5994e3" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_39634c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_5994e3" xlink:to="loc_us-gaapStatementLineItems_39634c" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaapIncomeStatementLocationAxis_9e2ee5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_5994e3" xlink:to="loc_us-gaapIncomeStatementLocationAxis_9e2ee5" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaapIncomeStatementLocationDomain_a1c04d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementLocationAxis_9e2ee5" xlink:to="loc_us-gaapIncomeStatementLocationDomain_a1c04d" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember" xlink:label="loc_us-gaapCostOfSalesMember_0b7252" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementLocationDomain_a1c04d" xlink:to="loc_us-gaapCostOfSalesMember_0b7252" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="loc_us-gaapGeneralAndAdministrativeExpenseMember_ed900b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementLocationDomain_a1c04d" xlink:to="loc_us-gaapGeneralAndAdministrativeExpenseMember_ed900b" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaapResearchAndDevelopmentExpenseMember_f6fac1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeStatementLocationDomain_a1c04d" xlink:to="loc_us-gaapResearchAndDevelopmentExpenseMember_f6fac1" order="23" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaapAllocatedShareBasedCompensationExpense_3ffde1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_39634c" xlink:to="loc_us-gaapAllocatedShareBasedCompensationExpense_3ffde1" order="1" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/StockBasedCompensationDetails1" xlink:title="000047 - Disclosure - STOCK-BASED COMPENSATION (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_331844" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_4c26c9" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_331844" xlink:to="loc_us-gaapStatementTable_4c26c9" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_186e3b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_4c26c9" xlink:to="loc_us-gaapStatementLineItems_186e3b" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis_120f9e" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_4c26c9" xlink:to="loc_us-gaapAwardTypeAxis_120f9e" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6616b8" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapAwardTypeAxis_120f9e" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6616b8" order="20" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_NonvestedRSUActivtyMember" xlink:label="loc_aehrNonvestedRSUActivtyMember_f9e5bc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_6616b8" xlink:to="loc_aehrNonvestedRSUActivtyMember_f9e5bc" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_d2c90a" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_186e3b" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_d2c90a" order="1" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_d22d3d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_186e3b" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_d22d3d" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_144c89" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_186e3b" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_144c89" order="3" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesRestrictedStockAwardForfeited_606e07" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_186e3b" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesRestrictedStockAwardForfeited_606e07" order="4" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_962a06" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_186e3b" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_962a06" order="5" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_1f6eff" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_186e3b" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_1f6eff" order="6" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_58fc02" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_186e3b" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_58fc02" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_c0395f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_186e3b" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue_c0395f" order="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_53217b" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_186e3b" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue_53217b" order="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_ef3b5c" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_186e3b" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_ef3b5c" order="10" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/StockBasedCompensationDetailsNarrative" xlink:title="000048 - Disclosure - STOCK-BASED COMPENSATION (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_4e130f" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesRestrictedStockAwardGross_da5f80" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_4e130f" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesRestrictedStockAwardGross_da5f80" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalizedCostsAssetRetirementCosts" xlink:label="loc_us-gaapCapitalizedCostsAssetRetirementCosts_ed3a65" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_4e130f" xlink:to="loc_us-gaapCapitalizedCostsAssetRetirementCosts_ed3a65" order="2" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeStockPurchasePlanNumberOfSharesAvailableForGrant" xlink:label="loc_aehrShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeStockPurchasePlanNumberOfSharesAvailableForGrant_9fee57" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_4e130f" xlink:to="loc_aehrShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeStockPurchasePlanNumberOfSharesAvailableForGrant_9fee57" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_648cdb" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapDisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_4e130f" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_648cdb" order="4" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/NetIncomeLossPerShareDetails" xlink:title="000049 - Disclosure - NET INCOME (LOSS) PER SHARE (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract_ac9a1b" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss_2b57e2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract_ac9a1b" xlink:to="loc_us-gaapNetIncomeLoss_2b57e2" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic_d1863f" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract_ac9a1b" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasic_d1863f" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaapWeightedAverageNumberDilutedSharesOutstandingAdjustment_5585bc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract_ac9a1b" xlink:to="loc_us-gaapWeightedAverageNumberDilutedSharesOutstandingAdjustment_5585bc" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding_8ddba1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract_ac9a1b" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding_8ddba1" order="4" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic_b3589d" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract_ac9a1b" xlink:to="loc_us-gaapEarningsPerShareBasic_b3589d" order="5" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted_8ad627" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract_ac9a1b" xlink:to="loc_us-gaapEarningsPerShareDiluted_8ad627" order="6" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_6450dc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapEarningsPerShareAbstract_ac9a1b" xlink:to="loc_us-gaapAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_6450dc" order="7" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://aehr.com/role/SegmentAndConcentrationInformationDetails" xlink:title="000050 - Disclosure - SEGMENT AND CONCENTRATION INFORMATION (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SegmentReportingAbstract" xlink:label="loc_us-gaapSegmentReportingAbstract_254ac1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable_f5c643" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapSegmentReportingAbstract_254ac1" xlink:to="loc_us-gaapStatementTable_f5c643" order="100" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems_2536aa" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_f5c643" xlink:to="loc_us-gaapStatementLineItems_2536aa" order="2000" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis_fe0438" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_f5c643" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis_fe0438" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain_fad4dc" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis_fe0438" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain_fad4dc" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis_d50280" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementTable_f5c643" xlink:to="loc_srtStatementGeographicalAxis_d50280" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain_2ffd10" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtStatementGeographicalAxis_d50280" xlink:to="loc_srtSegmentGeographicalDomain_2ffd10" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="loc_countryUS_8d32b5" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srtSegmentGeographicalDomain_2ffd10" xlink:to="loc_countryUS_8d32b5" order="31" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_InternationalMember" xlink:label="loc_aehrInternationalMember_226a33" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain_fad4dc" xlink:to="loc_aehrInternationalMember_226a33" order="32" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet_aefc68" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaapStatementLineItems_2536aa" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet_aefc68" order="1" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>10
<FILENAME>aehr-20240229_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<!--XBRL Document Created with XBRLMaster-->
<!--Version: 2.3.08-->
<!--Based on XBRL 2.1-->
<!--Date of creation: 04/08/2024-->
<!--Software architectural design and coding: A'c Dharmapremananda Avt.-->
<!--Copyright (c) 2024 I-NET Business Solutions, Inc. All Rights Reserved.-->
<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" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://aehr.com/role/Cover" xlink:href="aehr-20240229.xsd#Cover" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/CondensedConsolidatedBalanceSheets" xlink:href="aehr-20240229.xsd#CondensedConsolidatedBalanceSheets" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:href="aehr-20240229.xsd#CondensedConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited" xlink:href="aehr-20240229.xsd#CondensedConsolidatedStatementsOfOperationsUnaudited" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/CondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited" xlink:href="aehr-20240229.xsd#CondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited" xlink:href="aehr-20240229.xsd#CondensedConsolidatedStatementsOfShareholdersEquityUnaudited" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:href="aehr-20240229.xsd#CondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/OrganizationAndSignificantAccountingPolicies" xlink:href="aehr-20240229.xsd#OrganizationAndSignificantAccountingPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/FairValueOfFinancialInstruments" xlink:href="aehr-20240229.xsd#FairValueOfFinancialInstruments" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BalanceSheetInformation" xlink:href="aehr-20240229.xsd#BalanceSheetInformation" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/IncomeTax" xlink:href="aehr-20240229.xsd#IncomeTax" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BorrowingArrangements" xlink:href="aehr-20240229.xsd#BorrowingArrangements" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/CommitmentsAndContingencies" xlink:href="aehr-20240229.xsd#CommitmentsAndContingencies" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/ShareholdersEquity" xlink:href="aehr-20240229.xsd#ShareholdersEquity" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/AccumulatedOtherComprehensiveLoss" xlink:href="aehr-20240229.xsd#AccumulatedOtherComprehensiveLoss" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/REVENUE" xlink:href="aehr-20240229.xsd#REVENUE" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/StockBasedCompensation" xlink:href="aehr-20240229.xsd#StockBasedCompensation" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/NetIncomeLossPerShare" xlink:href="aehr-20240229.xsd#NetIncomeLossPerShare" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/SegmentAndConcentrationInformation" xlink:href="aehr-20240229.xsd#SegmentAndConcentrationInformation" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" xlink:href="aehr-20240229.xsd#OrganizationAndSignificantAccountingPoliciesPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesTables" xlink:href="aehr-20240229.xsd#OrganizationAndSignificantAccountingPoliciesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/FairValueOfFinancialInstrumentsTables" xlink:href="aehr-20240229.xsd#FairValueOfFinancialInstrumentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BalanceSheetInformationTables" xlink:href="aehr-20240229.xsd#BalanceSheetInformationTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/AccumulatedOtherComprehensiveLossTables" xlink:href="aehr-20240229.xsd#AccumulatedOtherComprehensiveLossTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/RevenueTables" xlink:href="aehr-20240229.xsd#RevenueTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/StockbasedCompensationTables" xlink:href="aehr-20240229.xsd#StockbasedCompensationTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/NetIncomeLossPerShareTables" xlink:href="aehr-20240229.xsd#NetIncomeLossPerShareTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/SegmentAndConcentrationInformationTables" xlink:href="aehr-20240229.xsd#SegmentAndConcentrationInformationTables" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetails" xlink:href="aehr-20240229.xsd#OrganizationAndSignificantAccountingPoliciesDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" xlink:href="aehr-20240229.xsd#OrganizationAndSignificantAccountingPoliciesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/FairValueOfFinancialInstrumentsDetails" xlink:href="aehr-20240229.xsd#FairValueOfFinancialInstrumentsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1" xlink:href="aehr-20240229.xsd#FairValueOfFinancialInstrumentsDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/FairValueOfFinancialInstrumentsDetailsNarrative" xlink:href="aehr-20240229.xsd#FairValueOfFinancialInstrumentsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BalanceSheetInformationDetails" xlink:href="aehr-20240229.xsd#BalanceSheetInformationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BalanceSheetInformationDetails1" xlink:href="aehr-20240229.xsd#BalanceSheetInformationDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BalanceSheetInformationDetails2" xlink:href="aehr-20240229.xsd#BalanceSheetInformationDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BalanceSheetInformationDetails3" xlink:href="aehr-20240229.xsd#BalanceSheetInformationDetails3" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/IncomeTaxesDetailsNarrative" xlink:href="aehr-20240229.xsd#IncomeTaxesDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/BorrowingArrangementsDetailsNarrative" xlink:href="aehr-20240229.xsd#BorrowingArrangementsDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/ShareholdersEquityDetailsNarrative" xlink:href="aehr-20240229.xsd#ShareholdersEquityDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/AccumulatedOtherComprehensiveLossDetails" xlink:href="aehr-20240229.xsd#AccumulatedOtherComprehensiveLossDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/RevenueDetails" xlink:href="aehr-20240229.xsd#RevenueDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/RevenueDetails1" xlink:href="aehr-20240229.xsd#RevenueDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/RevenueDetails2" xlink:href="aehr-20240229.xsd#RevenueDetails2" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/RevenueDetailsNarrative" xlink:href="aehr-20240229.xsd#RevenueDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/StockBasedCompensationDetails" xlink:href="aehr-20240229.xsd#StockBasedCompensationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/StockBasedCompensationDetails1" xlink:href="aehr-20240229.xsd#StockBasedCompensationDetails1" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/StockBasedCompensationDetailsNarrative" xlink:href="aehr-20240229.xsd#StockBasedCompensationDetailsNarrative" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/NetIncomeLossPerShareDetails" xlink:href="aehr-20240229.xsd#NetIncomeLossPerShareDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://aehr.com/role/SegmentAndConcentrationInformationDetails" xlink:href="aehr-20240229.xsd#SegmentAndConcentrationInformationDetails" 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://aehr.com/role/Cover" xlink:title="00000001 - Document - Cover Page Information">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="loc_deiCover" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/CondensedConsolidatedBalanceSheets" xlink:title="000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:title="000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited" xlink:title="000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtProductOrServiceAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ProductMember" xlink:label="loc_us-gaapProductMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_us-gaapProductMember" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ServiceMember" xlink:label="loc_us-gaapServiceMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_us-gaapServiceMember" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuesAbstract" xlink:label="loc_us-gaapRevenuesAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenuesAbstract" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenueAbstract" xlink:label="loc_us-gaapCostOfRevenueAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCostOfRevenueAbstract" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="loc_us-gaapCostOfRevenue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCostOfRevenue" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaapGrossProfit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapGrossProfit" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="loc_us-gaapOperatingExpensesAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingExpensesAbstract" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaapResearchAndDevelopmentExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapResearchAndDevelopmentExpense" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaapSellingGeneralAndAdministrativeExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSellingGeneralAndAdministrativeExpense" order="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="loc_us-gaapOperatingExpenses" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingExpenses" order="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaapOperatingIncomeLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOperatingIncomeLoss" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNet" xlink:label="loc_us-gaapInterestIncomeExpenseNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInterestIncomeExpenseNet" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaapOtherNonoperatingIncomeExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherNonoperatingIncomeExpense" order="12" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="13" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaapIncomeTaxExpenseBenefit" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapIncomeTaxExpenseBenefit" order="14" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss" order="15" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaapEarningsPerShareAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEarningsPerShareAbstract" order="16" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="loc_us-gaapEarningsPerShareBasic" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEarningsPerShareBasic" order="17" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaapEarningsPerShareDiluted" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapEarningsPerShareDiluted" order="18" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasicAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesOutstandingBasicAbstract" order="19" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesIssuedBasic" xlink:label="loc_us-gaapWeightedAverageNumberOfSharesIssuedBasic" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfSharesIssuedBasic" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapWeightedAverageNumberOfDilutedSharesOutstanding" order="21" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/CondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited" xlink:title="000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Unaudited)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited" xlink:title="000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaapStatementEquityComponentsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapStatementEquityComponentsAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaapEquityComponentDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapStatementEquityComponentsAxis" xlink:to="loc_us-gaapEquityComponentDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaapCommonStockMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapCommonStockMember" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaapAdditionalPaidInCapitalMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapAdditionalPaidInCapitalMember" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeMember" order="23" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaapRetainedEarningsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapEquityComponentDomain" xlink:to="loc_us-gaapRetainedEarningsMember" order="24" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesIssued" xlink:label="loc_us-gaapSharesIssued" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesIssued" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaapStockholdersEquity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockholdersEquity" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesShareBasedCompensation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesShareBasedCompensation" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:label="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodValueShareBasedCompensation" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="loc_us-gaapSharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharesPaidForTaxWithholdingForShareBasedCompensation" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="loc_us-gaapPaymentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPaymentsRelatedToTaxWithholdingForShareBasedCompensation" order="6" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsShares" xlink:label="loc_aehrProceedsFromPublicOfferingNetOfIssuanceCostsShares" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_aehrProceedsFromPublicOfferingNetOfIssuanceCostsShares" order="7" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsAmount" xlink:label="loc_aehrProceedsFromPublicOfferingNetOfIssuanceCostsAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_aehrProceedsFromPublicOfferingNetOfIssuanceCostsAmount" order="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" order="9" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaapNetIncomeLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapNetIncomeLoss" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="11" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UnrealizedGainLossOnInvestments" xlink:label="loc_us-gaapUnrealizedGainLossOnInvestments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapUnrealizedGainLossOnInvestments" order="12" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_IssuanceCostOfCommonStockOffering" xlink:label="loc_aehrIssuanceCostOfCommonStockOffering" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_aehrIssuanceCostOfCommonStockOffering" order="13" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:title="000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/OrganizationAndSignificantAccountingPolicies" xlink:title="000008 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/FairValueOfFinancialInstruments" xlink:title="000009 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/BalanceSheetInformation" xlink:title="000010 - Disclosure - BALANCE SHEET INFORMATION" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/IncomeTax" xlink:title="000011 - Disclosure - INCOME TAX" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/BorrowingArrangements" xlink:title="000012 - Disclosure - BORROWING ARRANGEMENTS" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/CommitmentsAndContingencies" xlink:title="000013 - Disclosure - COMMITMENTS AND CONTINGENCIES" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/ShareholdersEquity" xlink:title="000014 - Disclosure - SHAREHOLDERS EQUITY" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/AccumulatedOtherComprehensiveLoss" xlink:title="000015 - Disclosure - ACCUMULATED OTHER COMPREHENSIVE LOSS" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/REVENUE" xlink:title="000016 - Disclosure - REVENUE" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/StockBasedCompensation" xlink:title="000017 - Disclosure - STOCK-BASED COMPENSATION" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/NetIncomeLossPerShare" xlink:title="000018 - Disclosure - NET INCOME (LOSS) PER SHARE" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/SegmentAndConcentrationInformation" xlink:title="000019 - Disclosure - SEGMENT AND CONCENTRATION INFORMATION" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" xlink:title="000020 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Policies)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesTables" xlink:title="000021 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Tables)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/FairValueOfFinancialInstrumentsTables" xlink:title="000022 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (Tables)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/BalanceSheetInformationTables" xlink:title="000023 - Disclosure - BALANCE SHEET INFORMATION (Tables)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/AccumulatedOtherComprehensiveLossTables" xlink:title="000024 - Disclosure - ACCUMULATED OTHER COMPREHENSIVE LOSS (Tables)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/RevenueTables" xlink:title="000025 - Disclosure - REVENUE (Tables)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/StockbasedCompensationTables" xlink:title="000026 - Disclosure - STOCKBASED COMPENSATION (Tables)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/NetIncomeLossPerShareTables" xlink:title="000027 - Disclosure - NET INCOME (LOSS) PER SHARE (Tables)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/SegmentAndConcentrationInformationTables" xlink:title="000028 - Disclosure - SEGMENT AND CONCENTRATION INFORMATION (Tables)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetails" xlink:title="000029 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="loc_us-gaapConcentrationRiskByBenchmarkAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapConcentrationRiskByBenchmarkAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="loc_us-gaapConcentrationRiskBenchmarkDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapConcentrationRiskByBenchmarkAxis" xlink:to="loc_us-gaapConcentrationRiskBenchmarkDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaapConcentrationRiskByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain" order="50" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain_10" order="60" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_RevenuesMember" xlink:label="loc_aehrRevenuesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_aehrRevenuesMember" order="41" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_CustomerBMember" xlink:label="loc_aehrCustomerBMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_aehrCustomerBMember" order="42" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_CustomerCMember" xlink:label="loc_aehrCustomerCMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_aehrCustomerCMember" order="43" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableMember" xlink:label="loc_us-gaapAccountsReceivableMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskBenchmarkDomain" xlink:to="loc_us-gaapAccountsReceivableMember" order="44" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_CustomerAMember" xlink:label="loc_aehrCustomerAMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_aehrCustomerAMember" order="45" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="loc_us-gaapConcentrationRiskPercentage1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapConcentrationRiskPercentage1" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" xlink:title="000030 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="loc_us-gaapConcentrationRiskByTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapConcentrationRiskByTypeAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="loc_us-gaapConcentrationRiskTypeDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapConcentrationRiskByTypeAxis" xlink:to="loc_us-gaapConcentrationRiskTypeDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_RevenueMember" xlink:label="loc_aehrRevenueMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapConcentrationRiskTypeDomain" xlink:to="loc_aehrRevenueMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ConcentrationRiskPercentage" xlink:label="loc_aehrConcentrationRiskPercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_aehrConcentrationRiskPercentage" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuritiesBorrowedAllowanceForCreditLoss" xlink:label="loc_us-gaapSecuritiesBorrowedAllowanceForCreditLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSecuritiesBorrowedAllowanceForCreditLoss" order="2" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/FairValueOfFinancialInstrumentsDetails" xlink:title="000031 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="loc_us-gaapFinancialInstrumentAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapFinancialInstrumentAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFinancialInstrumentAxis" xlink:to="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapFinancialInstrumentAxis" xlink:to="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" xlink:to="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" order="50" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapFairValueByFairValueHierarchyLevelAxis" xlink:to="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain_10" order="60" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapPlanNameAxis" order="60" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain" order="70" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain_10" order="80" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueByAssetClassAxis" xlink:label="loc_us-gaapFairValueByAssetClassAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapFairValueByAssetClassAxis" order="80" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFairValueByAssetClassAxis" xlink:to="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" order="90" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:label="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapFairValueByAssetClassAxis" xlink:to="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain_10" order="100" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_MoneyMarketFundMember" xlink:label="loc_aehrMoneyMarketFundMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="loc_aehrMoneyMarketFundMember" order="81" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaapFairValueInputsLevel1Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel1Member" order="82" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="loc_us-gaapFairValueInputsLevel2Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel2Member" order="83" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaapFairValueInputsLevel3Member" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueMeasurementsFairValueHierarchyDomain" xlink:to="loc_us-gaapFairValueInputsLevel3Member" order="84" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_UStreasurysecuritiesMember" xlink:label="loc_aehrUStreasurysecuritiesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_aehrUStreasurysecuritiesMember" order="85" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_USTreasurySecurityMember" xlink:label="loc_aehrUSTreasurySecurityMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="loc_aehrUSTreasurySecurityMember" order="86" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsMember" xlink:label="loc_us-gaapAssetsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapFairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain" xlink:to="loc_us-gaapAssetsMember" order="87" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InvestmentsFairValueDisclosure" xlink:label="loc_us-gaapInvestmentsFairValueDisclosure" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapInvestmentsFairValueDisclosure" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1" xlink:title="000032 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapPlanNameAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FinancialInstrumentAxis" xlink:label="loc_us-gaapFinancialInstrumentAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapFinancialInstrumentAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapFinancialInstrumentAxis" xlink:to="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:label="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapFinancialInstrumentAxis" xlink:to="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_CostMember" xlink:label="loc_aehrCostMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_aehrCostMember" order="21" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_MoneyMarketFundMember" xlink:label="loc_aehrMoneyMarketFundMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="loc_aehrMoneyMarketFundMember" order="22" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_GrossUnrealizedLossMember" xlink:label="loc_aehrGrossUnrealizedLossMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_aehrGrossUnrealizedLossMember" order="23" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_EstimatedFairValueMember" xlink:label="loc_aehrEstimatedFairValueMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_aehrEstimatedFairValueMember" order="24" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_UnitedStateTreasurySecuritiesMember" xlink:label="loc_aehrUnitedStateTreasurySecuritiesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain" xlink:to="loc_aehrUnitedStateTreasurySecuritiesMember" order="25" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashEquivalentsAtCarryingValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCashEquivalentsAtCarryingValue" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaapLongTermInvestments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLongTermInvestments" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Cash" xlink:label="loc_us-gaapCash" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCash" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCashAndCashEquivalentsAtCarryingValue" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="5" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsAndShortTermInvestments" xlink:label="loc_us-gaapCashCashEquivalentsAndShortTermInvestments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapCashCashEquivalentsAndShortTermInvestments" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShortTermInvestments" xlink:label="loc_us-gaapShortTermInvestments" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShortTermInvestments" order="7" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/FairValueOfFinancialInstrumentsDetailsNarrative" xlink:title="000033 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (Details Narrative)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/BalanceSheetInformationDetails" xlink:title="000034 - Disclosure - BALANCE SHEET INFORMATION (Details)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/BalanceSheetInformationDetails1" xlink:title="000035 - Disclosure - BALANCE SHEET INFORMATION (Details 1)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/BalanceSheetInformationDetails2" xlink:title="000036 - Disclosure - BALANCE SHEET INFORMATION (Details 2)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/BalanceSheetInformationDetails3" xlink:title="000037 - Disclosure - BALANCE SHEET INFORMATION (Details 3)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/IncomeTaxesDetailsNarrative" xlink:title="000038 - Disclosure - INCOME TAXES (Details Narrative)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/BorrowingArrangementsDetailsNarrative" xlink:title="000039 - Disclosure - BORROWING ARRANGEMENTS (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaapPlanNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapPlanNameAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaapPlanNameDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapPlanNameAxis" xlink:to="loc_us-gaapPlanNameDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_OriginalLoanAndSecurityAgreementMember" xlink:label="loc_aehrOriginalLoanAndSecurityAgreementMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_aehrOriginalLoanAndSecurityAgreementMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_SecondAmendmentToLoanAndSecurityAgreementMember" xlink:label="loc_aehrSecondAmendmentToLoanAndSecurityAgreementMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_aehrSecondAmendmentToLoanAndSecurityAgreementMember" order="12" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_FirstAmendmentToLoanAndSecurityAgreementMember" xlink:label="loc_aehrFirstAmendmentToLoanAndSecurityAgreementMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_aehrFirstAmendmentToLoanAndSecurityAgreementMember" order="13" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ThirdAmendmentToLoanAndSecurityAgreementMember" xlink:label="loc_aehrThirdAmendmentToLoanAndSecurityAgreementMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapPlanNameDomain" xlink:to="loc_aehrThirdAmendmentToLoanAndSecurityAgreementMember" order="14" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityMaximumBorrowingCapacity" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateTerms" xlink:label="loc_us-gaapDebtInstrumentInterestRateTerms" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapDebtInstrumentInterestRateTerms" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityExpirationDate1" xlink:label="loc_us-gaapLineOfCreditFacilityExpirationDate1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapLineOfCreditFacilityExpirationDate1" order="3" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_RevolvingLineTerminationDate" xlink:label="loc_aehrRevolvingLineTerminationDate" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_aehrRevolvingLineTerminationDate" order="4" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_AmountOfMinimumNetLiquidityOfCreditFacility" xlink:label="loc_aehrAmountOfMinimumNetLiquidityOfCreditFacility" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_aehrAmountOfMinimumNetLiquidityOfCreditFacility" order="5" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/ShareholdersEquityDetailsNarrative" xlink:title="000040 - Disclosure - SHAREHOLDERS EQUITY (Details Narrative)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/AccumulatedOtherComprehensiveLossDetails" xlink:title="000041 - Disclosure - ACCUMULATED OTHER COMPREHENSIVE LOSS (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtProductOrServiceAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLocationAxis" xlink:label="loc_us-gaapOtherComprehensiveIncomeLocationAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapOtherComprehensiveIncomeLocationAxis" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLocationDomain" xlink:label="loc_us-gaapOtherComprehensiveIncomeLocationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapOtherComprehensiveIncomeLocationAxis" xlink:to="loc_us-gaapOtherComprehensiveIncomeLocationDomain" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLocationDomain" xlink:label="loc_us-gaapOtherComprehensiveIncomeLocationDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapOtherComprehensiveIncomeLocationAxis" xlink:to="loc_us-gaapOtherComprehensiveIncomeLocationDomain_10" order="50" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_CumulativeTranslationAdjustmentsMember" xlink:label="loc_aehrCumulativeTranslationAdjustmentsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_aehrCumulativeTranslationAdjustmentsMember" order="31" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_UnrealizedLossOnInvestmentsMember" xlink:label="loc_aehrUnrealizedLossOnInvestmentsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapOtherComprehensiveIncomeLocationDomain" xlink:to="loc_aehrUnrealizedLossOnInvestmentsMember" order="32" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAccumulatedOtherComprehensiveIncomeLossNetOfTax" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax" xlink:label="loc_us-gaapOtherComprehensiveIncomeLossBeforeReclassificationsTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapOtherComprehensiveIncomeLossBeforeReclassificationsTax" order="2" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/RevenueDetails" xlink:title="000042 - Disclosure - REVENUE (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtStatementGeographicalAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_EuropeMember" xlink:label="loc_srtEuropeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_srtEuropeMember" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_AsiaMember" xlink:label="loc_srtAsiaMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_srtAsiaMember" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="loc_countryUS" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryUS" order="23" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/RevenueDetails1" xlink:title="000043 - Disclosure - REVENUE (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="loc_srtProductOrServiceAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtProductOrServiceAxis" order="10" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="loc_srtProductsAndServicesDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtProductOrServiceAxis" xlink:to="loc_srtProductsAndServicesDomain_10" order="30" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_SystemsMember" xlink:label="loc_aehrSystemsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_aehrSystemsMember" order="11" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ServicesMember" xlink:label="loc_aehrServicesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_aehrServicesMember" order="12" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ContactorsMember" xlink:label="loc_aehrContactorsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtProductsAndServicesDomain" xlink:to="loc_aehrContactorsMember" order="13" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/RevenueDetails2" xlink:title="000044 - Disclosure - REVENUE (Details 2)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis" xlink:to="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceAxis" xlink:to="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ProductsAndServicesTransferredAtAPointInTimeMember" xlink:label="loc_aehrProductsAndServicesTransferredAtAPointInTimeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain" xlink:to="loc_aehrProductsAndServicesTransferredAtAPointInTimeMember" order="21" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_ServicesTransferredOverTimeMember" xlink:label="loc_aehrServicesTransferredOverTimeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapTimingOfTransferOfGoodOrServiceDomain" xlink:to="loc_aehrServicesTransferredOverTimeMember" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenueFromContractWithCustomerExcludingAssessedTax" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/RevenueDetailsNarrative" xlink:title="000045 - Disclosure - REVENUE (Details Narrative)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementScenarioAxis" xlink:label="loc_srtStatementScenarioAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtStatementScenarioAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="loc_srtScenarioUnspecifiedDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementScenarioAxis" xlink:to="loc_srtScenarioUnspecifiedDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="loc_srtScenarioUnspecifiedDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtStatementScenarioAxis" xlink:to="loc_srtScenarioUnspecifiedDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaapSubsequentEventTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapSubsequentEventTypeAxis" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapSubsequentEventTypeAxis" xlink:to="loc_us-gaapSubsequentEventTypeDomain" order="50" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaapSubsequentEventTypeDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapSubsequentEventTypeAxis" xlink:to="loc_us-gaapSubsequentEventTypeDomain_10" order="60" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioForecastMember" xlink:label="loc_srtScenarioForecastMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtScenarioUnspecifiedDomain" xlink:to="loc_srtScenarioForecastMember" order="41" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaapSubsequentEventMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapSubsequentEventTypeDomain" xlink:to="loc_us-gaapSubsequentEventMember" order="42" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiability" xlink:label="loc_us-gaapContractWithCustomerLiability" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapContractWithCustomerLiability" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNet" xlink:label="loc_us-gaapContractWithCustomerAssetNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapContractWithCustomerAssetNet" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:label="loc_us-gaapContractWithCustomerLiabilityRevenueRecognized" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapContractWithCustomerLiabilityRevenueRecognized" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="loc_us-gaapRevenueRemainingPerformanceObligation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenueRemainingPerformanceObligation" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:label="loc_us-gaapRevenueRemainingPerformanceObligationPercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapRevenueRemainingPerformanceObligationPercentage" order="5" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/StockBasedCompensationDetails" xlink:title="000046 - Disclosure - STOCK-BASED COMPENSATION (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaapIncomeStatementLocationAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapIncomeStatementLocationAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaapIncomeStatementLocationDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapIncomeStatementLocationAxis" xlink:to="loc_us-gaapIncomeStatementLocationDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaapIncomeStatementLocationDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapIncomeStatementLocationAxis" xlink:to="loc_us-gaapIncomeStatementLocationDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfSalesMember" xlink:label="loc_us-gaapCostOfSalesMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeStatementLocationDomain" xlink:to="loc_us-gaapCostOfSalesMember" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="loc_us-gaapGeneralAndAdministrativeExpenseMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeStatementLocationDomain" xlink:to="loc_us-gaapGeneralAndAdministrativeExpenseMember" order="22" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaapResearchAndDevelopmentExpenseMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeStatementLocationDomain" xlink:to="loc_us-gaapResearchAndDevelopmentExpenseMember" order="23" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaapAllocatedShareBasedCompensationExpense" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapAllocatedShareBasedCompensationExpense" order="1" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/StockBasedCompensationDetails1" xlink:title="000047 - Disclosure - STOCK-BASED COMPENSATION (Details 1)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaapAwardTypeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapAwardTypeAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapAwardTypeAxis" xlink:to="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_NonvestedRSUActivtyMember" xlink:label="loc_aehrNonvestedRSUActivtyMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="loc_aehrNonvestedRSUActivtyMember" order="21" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" order="1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" order="2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" order="3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" xlink:label="loc_us-gaapStockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStockIssuedDuringPeriodSharesRestrictedStockAwardForfeited" order="4" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" order="6" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="7" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue" order="8" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapSharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue" order="9" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/StockBasedCompensationDetailsNarrative" xlink:title="000048 - Disclosure - STOCK-BASED COMPENSATION (Details Narrative)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/NetIncomeLossPerShareDetails" xlink:title="000049 - Disclosure - NET INCOME (LOSS) PER SHARE (Details)" />
  <link:definitionLink xlink:type="extended" xlink:role="http://aehr.com/role/SegmentAndConcentrationInformationDetails" xlink:title="000050 - Disclosure - SEGMENT AND CONCENTRATION INFORMATION (Details)">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaapStatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaapStatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapStatementTable" order="2000" xbrldt:contextElement="segment" xbrldt:closed="true" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaapIncomeTaxAuthorityNameAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_us-gaapIncomeTaxAuthorityNameAxis" order="20" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaapIncomeTaxAuthorityNameDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaapIncomeTaxAuthorityNameAxis" xlink:to="loc_us-gaapIncomeTaxAuthorityNameDomain_10" order="40" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="loc_srtStatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaapStatementTable" xlink:to="loc_srtStatementGeographicalAxis" order="30" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain" order="40" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="loc_srtSegmentGeographicalDomain_10" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srtStatementGeographicalAxis" xlink:to="loc_srtSegmentGeographicalDomain_10" order="50" xbrldt:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="loc_countryUS" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srtSegmentGeographicalDomain" xlink:to="loc_countryUS" order="31" />
    <link:loc xlink:type="locator" xlink:href="aehr-20240229.xsd#aehr_InternationalMember" xlink:label="loc_aehrInternationalMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapIncomeTaxAuthorityNameDomain" xlink:to="loc_aehrInternationalMember" order="32" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaapPropertyPlantAndEquipmentNet" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaapStatementLineItems" xlink:to="loc_us-gaapPropertyPlantAndEquipmentNet" order="1" />
  </link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139821071779936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - shares<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Apr. 01, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">AEHR TEST SYSTEMS<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001040470<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Feb. 29,  2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_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="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,914,729<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">000-22893<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation State Country Code</a></td>
<td class="text">CA<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">94-2424084<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address Address Line 1</a></td>
<td class="text">400 Kato Terrace<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address City Or Town</a></td>
<td class="text">Fremont<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address State Or Province</a></td>
<td class="text">CA<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address Postal Zip Code</a></td>
<td class="text">94539<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">510<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">623-9400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Security 12b Title</a></td>
<td class="text">Common Stock par value of $0.01 per share<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">AEHR<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139821071302944">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>May 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 47,581<span></span>
</td>
<td class="nump">$ 30,054<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermInvestments', window );">Short-term investments</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">17,853<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNet', window );">Accounts receivable, net</a></td>
<td class="nump">5,468<span></span>
</td>
<td class="nump">16,594<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">38,085<span></span>
</td>
<td class="nump">23,908<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">1,215<span></span>
</td>
<td class="nump">621<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">92,349<span></span>
</td>
<td class="nump">89,030<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">3,150<span></span>
</td>
<td class="nump">2,759<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets, net</a></td>
<td class="nump">5,863<span></span>
</td>
<td class="nump">6,123<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other non-current assets</a></td>
<td class="nump">234<span></span>
</td>
<td class="nump">231<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">101,596<span></span>
</td>
<td class="nump">98,143<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">4,979<span></span>
</td>
<td class="nump">9,206<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued expenses</a></td>
<td class="nump">3,287<span></span>
</td>
<td class="nump">4,143<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liabilities, short-term</a></td>
<td class="nump">428<span></span>
</td>
<td class="nump">137<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenueCurrent', window );">Deferred revenue, short-term</a></td>
<td class="nump">486<span></span>
</td>
<td class="nump">2,822<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">9,180<span></span>
</td>
<td class="nump">16,308<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities, long-term</a></td>
<td class="nump">5,878<span></span>
</td>
<td class="nump">6,163<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenueNoncurrent', window );">Deferred revenue, long-term</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">31<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilities', window );">Other long-term liabilities</a></td>
<td class="nump">41<span></span>
</td>
<td class="nump">41<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">15,099<span></span>
</td>
<td class="nump">22,543<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Shareholders' equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, $0.01 par value: Authorized: 10,000 shares; Issued and outstanding: none</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $0.01 par value: Authorized: 75,000 shares; Issued and outstanding: 28,906 shares and 28,539 shares at February 29, 2024 and May 31, 2023, respectively</a></td>
<td class="nump">289<span></span>
</td>
<td class="nump">285<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapital', window );">Additional paid-in-capital</a></td>
<td class="nump">129,366<span></span>
</td>
<td class="nump">127,776<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(144)<span></span>
</td>
<td class="num">(155)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated deficit</a></td>
<td class="num">(43,014)<span></span>
</td>
<td class="num">(52,306)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total shareholders' equity</a></td>
<td class="nump">86,497<span></span>
</td>
<td class="nump">75,600<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and shareholders' equity</a></td>
<td class="nump">$ 101,596<span></span>
</td>
<td class="nump">$ 98,143<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_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480833/946-310-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(5)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481058/954-310-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNet</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_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</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_AdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</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_DeferredRevenueCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueCurrent</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_DeferredRevenueNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueNoncurrent</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_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</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_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</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_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</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_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</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_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</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_OtherLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(12)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(12)(b)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(12)(b)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilities</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_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</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_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820978406048">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>May 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockNoParValue', window );">Preferred stock, par value</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized</a></td>
<td class="nump">10,000,000<span></span>
</td>
<td class="nump">10,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PreferredStockSharesOutstanding', window );">Preferred stock, shares outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">75,000,000<span></span>
</td>
<td class="nump">75,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued</a></td>
<td class="nump">28,906,000<span></span>
</td>
<td class="nump">28,539,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">28,906,000<span></span>
</td>
<td class="nump">28,539,000<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_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>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_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</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>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_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</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>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_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</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>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_PreferredStockNoParValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount per share of no-par value preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockNoParValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>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_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</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>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_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_PreferredStockSharesIssued</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>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_PreferredStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_PreferredStockSharesOutstanding</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>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_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</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>15
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139821097326000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited) - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">$ 7,563<span></span>
</td>
<td class="nump">$ 17,206<span></span>
</td>
<td class="nump">$ 49,618<span></span>
</td>
<td class="nump">$ 42,692<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenueAbstract', window );"><strong>Cost of revenue:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Total cost of revenue</a></td>
<td class="nump">4,407<span></span>
</td>
<td class="nump">8,331<span></span>
</td>
<td class="nump">25,523<span></span>
</td>
<td class="nump">21,425<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">3,156<span></span>
</td>
<td class="nump">8,875<span></span>
</td>
<td class="nump">24,095<span></span>
</td>
<td class="nump">21,267<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating expenses:</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">2,139<span></span>
</td>
<td class="nump">1,832<span></span>
</td>
<td class="nump">6,568<span></span>
</td>
<td class="nump">4,881<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative</a></td>
<td class="nump">3,063<span></span>
</td>
<td class="nump">3,250<span></span>
</td>
<td class="nump">9,990<span></span>
</td>
<td class="nump">8,650<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="nump">5,202<span></span>
</td>
<td class="nump">5,082<span></span>
</td>
<td class="nump">16,558<span></span>
</td>
<td class="nump">13,531<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Income (loss) from operations</a></td>
<td class="num">(2,046)<span></span>
</td>
<td class="nump">3,793<span></span>
</td>
<td class="nump">7,537<span></span>
</td>
<td class="nump">7,736<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeExpenseNet', window );">Interest income, net</a></td>
<td class="nump">584<span></span>
</td>
<td class="nump">374<span></span>
</td>
<td class="nump">1,796<span></span>
</td>
<td class="nump">758<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income (expense), net</a></td>
<td class="num">(2)<span></span>
</td>
<td class="num">(18)<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">1<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income (loss) before provision for income taxes</a></td>
<td class="num">(1,464)<span></span>
</td>
<td class="nump">4,149<span></span>
</td>
<td class="nump">9,335<span></span>
</td>
<td class="nump">8,495<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="nump">7<span></span>
</td>
<td class="nump">17<span></span>
</td>
<td class="nump">43<span></span>
</td>
<td class="nump">49<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="num">$ (1,471)<span></span>
</td>
<td class="nump">$ 4,132<span></span>
</td>
<td class="nump">$ 9,292<span></span>
</td>
<td class="nump">$ 8,446<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Net income (loss) per share:</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic</a></td>
<td class="num">$ (0.05)<span></span>
</td>
<td class="nump">$ 0.15<span></span>
</td>
<td class="nump">$ 0.32<span></span>
</td>
<td class="nump">$ 0.31<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted</a></td>
<td class="num">$ (0.05)<span></span>
</td>
<td class="nump">$ 0.14<span></span>
</td>
<td class="nump">$ 0.31<span></span>
</td>
<td class="nump">$ 0.29<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract', window );"><strong>Shares used in per share calculations:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesIssuedBasic', window );">Basic</a></td>
<td class="nump">28,866<span></span>
</td>
<td class="nump">27,893<span></span>
</td>
<td class="nump">28,773<span></span>
</td>
<td class="nump">27,571<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted</a></td>
<td class="nump">28,866<span></span>
</td>
<td class="nump">29,373<span></span>
</td>
<td class="nump">29,670<span></span>
</td>
<td class="nump">29,080<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">Product [Member]</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">$ 6,730<span></span>
</td>
<td class="nump">$ 16,120<span></span>
</td>
<td class="nump">$ 45,924<span></span>
</td>
<td class="nump">$ 39,715<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenueAbstract', window );"><strong>Cost of revenue:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Total cost of revenue</a></td>
<td class="nump">3,948<span></span>
</td>
<td class="nump">7,728<span></span>
</td>
<td class="nump">23,574<span></span>
</td>
<td class="nump">19,739<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ServiceMember', window );">Services [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">833<span></span>
</td>
<td class="nump">1,086<span></span>
</td>
<td class="nump">3,694<span></span>
</td>
<td class="nump">2,977<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenueAbstract', window );"><strong>Cost of revenue:</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Total cost of revenue</a></td>
<td class="nump">$ 459<span></span>
</td>
<td class="nump">$ 603<span></span>
</td>
<td class="nump">$ 1,949<span></span>
</td>
<td class="nump">$ 1,686<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_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate cost of goods produced and sold and services rendered during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfRevenue</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_CostOfRevenueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfRevenueAbstract</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_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</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_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestIncomeExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net amount of operating interest income (expense).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.10)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</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_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</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_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482916/730-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482517/912-730-25-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481283/985-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</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_RevenuesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuesAbstract</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_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesIssuedBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This element represents the weighted average total number of shares issued throughout the period including the first (beginning balance outstanding) and last (ending balance outstanding) day of the period before considering any reductions (for instance, shares held in treasury) to arrive at the weighted average number of shares outstanding. Weighted average relates to the portion of time within a reporting period that common shares have been issued and outstanding to the total time in that period. Such concept is used in determining the weighted average number of shares outstanding for purposes of calculating earnings per share (basic).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-13<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesIssuedBasic</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract</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_srt_ProductOrServiceAxis=us-gaap_ProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ServiceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ServiceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820978418720">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Unaudited) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Unaudited)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income (loss)</a></td>
<td class="num">$ (1,471)<span></span>
</td>
<td class="nump">$ 4,132<span></span>
</td>
<td class="nump">$ 9,292<span></span>
</td>
<td class="nump">$ 8,446<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossTaxAbstract', window );"><strong>Other comprehensive income (loss), net of tax:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax', window );">Net change in cumulative translation adjustment</a></td>
<td class="num">(10)<span></span>
</td>
<td class="nump">9<span></span>
</td>
<td class="num">(6)<span></span>
</td>
<td class="num">(35)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax', window );">Net change in unrealized gain (loss) on investments</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(16)<span></span>
</td>
<td class="nump">17<span></span>
</td>
<td class="num">(22)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive income (loss)</a></td>
<td class="num">$ (1,481)<span></span>
</td>
<td class="nump">$ 4,125<span></span>
</td>
<td class="nump">$ 9,303<span></span>
</td>
<td class="nump">$ 8,389<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_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax, before reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a-c)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481839/830-10-45-9<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482014/830-20-35-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax</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_OtherComprehensiveIncomeLossTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossTaxAbstract</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_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 320<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481800/320-10-50-9<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax</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_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract</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>17
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820979972032">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited) - USD ($)<br></strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-In Capital</div></th>
<th class="th"><div>Accumulated other comprehensive loss</div></th>
<th class="th"><div>Retained Earnings (Accumulated Deficit)</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Balance, shares at May. 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27,120,000<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="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance, amount at May. 31, 2022</a></td>
<td class="nump">$ 50,989,000<span></span>
</td>
<td class="nump">$ 271,000<span></span>
</td>
<td class="nump">$ 117,686,000<span></span>
</td>
<td class="num">$ (105,000)<span></span>
</td>
<td class="num">$ (66,863,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Issuance of common stock under employee plans, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,156,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Issuance of common stock under employee plans, amount</a></td>
<td class="nump">1,965,000<span></span>
</td>
<td class="nump">$ 11,000<span></span>
</td>
<td class="nump">1,954,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Shares repurchased for tax withholdings on vesting of restricted stock units, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(165)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Shares repurchased for tax withholdings on vesting of restricted stock units, amount</a></td>
<td class="num">(1,680,000)<span></span>
</td>
<td class="num">$ (1,000)<span></span>
</td>
<td class="num">(1,679,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsShares', window );">Proceeds from public offering, net of issuance costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">209<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 custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsAmount', window );">Proceeds from public offering, net of issuance costs, amount</a></td>
<td class="nump">6,853<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">6,851<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">2,118,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,118,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">8,446,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">8,446,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="num">(35,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(35,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrealizedGainLossOnInvestments', window );">Net unrealized loss on investments</a></td>
<td class="num">(22,000)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(22,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Balance, shares at Feb. 28, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,320,000<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="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance, amount at Feb. 28, 2023</a></td>
<td class="nump">68,634,000<span></span>
</td>
<td class="nump">$ 283,000<span></span>
</td>
<td class="nump">126,930,000<span></span>
</td>
<td class="num">(162,000)<span></span>
</td>
<td class="num">(58,417,000)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Balance, shares at Nov. 30, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27,732,000<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="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance, amount at Nov. 30, 2022</a></td>
<td class="nump">56,667,000<span></span>
</td>
<td class="nump">$ 277,000<span></span>
</td>
<td class="nump">119,094,000<span></span>
</td>
<td class="num">(155,000)<span></span>
</td>
<td class="num">(62,549,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Issuance of common stock under employee plans, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">395,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Issuance of common stock under employee plans, amount</a></td>
<td class="nump">853,000<span></span>
</td>
<td class="nump">$ 4,000<span></span>
</td>
<td class="nump">849,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Shares repurchased for tax withholdings on vesting of restricted stock units, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(16,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Shares repurchased for tax withholdings on vesting of restricted stock units, amount</a></td>
<td class="num">$ (464,000)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">$ (464,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsShares', window );">Proceeds from public offering, net of issuance costs</a></td>
<td class="nump">6,853<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">6,851<span></span>
</td>
<td class="text">&#160;<span></span>
</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="Show.showAR( this, 'defref_aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsAmount', window );">Proceeds from public offering, net of issuance costs, amount</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 209<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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">$ 600,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">$ 600,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">4,132,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">4,132,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">9,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">9,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrealizedGainLossOnInvestments', window );">Net unrealized loss on investments</a></td>
<td class="num">(16,000)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(16,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Balance, shares at Feb. 28, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,320,000<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="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance, amount at Feb. 28, 2023</a></td>
<td class="nump">68,634,000<span></span>
</td>
<td class="nump">$ 283,000<span></span>
</td>
<td class="nump">126,930,000<span></span>
</td>
<td class="num">(162,000)<span></span>
</td>
<td class="num">(58,417,000)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Balance, shares at May. 31, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,539,000<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="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance, amount at May. 31, 2023</a></td>
<td class="nump">75,600,000<span></span>
</td>
<td class="nump">$ 285,000<span></span>
</td>
<td class="nump">127,776,000<span></span>
</td>
<td class="num">(155,000)<span></span>
</td>
<td class="num">(52,306,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Shares repurchased for tax withholdings on vesting of restricted stock units, amount</a></td>
<td class="num">(1,480,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">9,292,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="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="Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Balance, shares at Feb. 29, 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,906,000<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="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance, amount at Feb. 29, 2024</a></td>
<td class="nump">86,497,000<span></span>
</td>
<td class="nump">$ 289,000<span></span>
</td>
<td class="nump">129,366,000<span></span>
</td>
<td class="num">(144,000)<span></span>
</td>
<td class="num">(43,014,000)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Balance, shares at May. 31, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,539,000<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="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance, amount at May. 31, 2023</a></td>
<td class="nump">75,600,000<span></span>
</td>
<td class="nump">$ 285,000<span></span>
</td>
<td class="nump">127,776,000<span></span>
</td>
<td class="num">(155,000)<span></span>
</td>
<td class="num">(52,306,000)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Issuance of common stock under employee plans, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">402,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Issuance of common stock under employee plans, amount</a></td>
<td class="nump">1,270,000<span></span>
</td>
<td class="nump">$ 4,000<span></span>
</td>
<td class="nump">1,266,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Shares repurchased for tax withholdings on vesting of restricted stock units, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(35,000)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Shares repurchased for tax withholdings on vesting of restricted stock units, amount</a></td>
<td class="num">(1,480,000)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(1,480,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">1,876,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,876,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">9,292,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">9,292,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="num">(6,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(6,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UnrealizedGainLossOnInvestments', window );">Net unrealized loss on investments</a></td>
<td class="nump">17,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">17,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_aehr_IssuanceCostOfCommonStockOffering', window );">Issuance cost of common stock offering</a></td>
<td class="num">(72,000)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(72,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Balance, shares at Feb. 28, 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,906,000<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="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance, amount at Feb. 28, 2024</a></td>
<td class="nump">86,497,000<span></span>
</td>
<td class="nump">$ 289,000<span></span>
</td>
<td class="nump">129,366,000<span></span>
</td>
<td class="num">(144,000)<span></span>
</td>
<td class="num">(43,014,000)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Balance, shares at Nov. 30, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,826,000<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="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance, amount at Nov. 30, 2023</a></td>
<td class="nump">87,154,000<span></span>
</td>
<td class="nump">$ 288,000<span></span>
</td>
<td class="nump">128,543,000<span></span>
</td>
<td class="num">(134,000)<span></span>
</td>
<td class="num">(41,543,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Issuance of common stock under employee plans, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">81,000<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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Issuance of common stock under employee plans, amount</a></td>
<td class="nump">178,000<span></span>
</td>
<td class="nump">$ 1,000<span></span>
</td>
<td class="nump">177,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Shares repurchased for tax withholdings on vesting of restricted stock units, shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,000)<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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Shares repurchased for tax withholdings on vesting of restricted stock units, amount</a></td>
<td class="num">(20,000)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(20,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">666,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">666,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="num">(1,471,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,471,000)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="num">(10,000)<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(10,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Balance, shares at Feb. 29, 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">28,906,000<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="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance, amount at Feb. 29, 2024</a></td>
<td class="nump">$ 86,497,000<span></span>
</td>
<td class="nump">$ 289,000<span></span>
</td>
<td class="nump">$ 129,366,000<span></span>
</td>
<td class="num">$ (144,000)<span></span>
</td>
<td class="num">$ (43,014,000)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_aehr_IssuanceCostOfCommonStockOffering">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">aehr_IssuanceCostOfCommonStockOffering</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aehr_</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_aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aehr_</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_aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aehr_</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</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_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</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_SharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_SharesIssued</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>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_SharesPaidForTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UnrealizedGainLossOnInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of unrealized gain (loss) on investment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_UnrealizedGainLossOnInvestments</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139821071556064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 9,292<span></span>
</td>
<td class="nump">$ 8,446<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation expense</a></td>
<td class="nump">1,744<span></span>
</td>
<td class="nump">2,095<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">469<span></span>
</td>
<td class="nump">337<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments', window );">Accretion of investment discount</a></td>
<td class="num">(130)<span></span>
</td>
<td class="num">(305)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense', window );">Amortization of operating lease right-of-use assets</a></td>
<td class="nump">522<span></span>
</td>
<td class="nump">479<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Provision for doubtful accounts</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">24<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="nump">11,130<span></span>
</td>
<td class="nump">1,414<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="num">(14,182)<span></span>
</td>
<td class="num">(6,783)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="num">(600)<span></span>
</td>
<td class="num">(167)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(4,232)<span></span>
</td>
<td class="nump">822<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="num">(874)<span></span>
</td>
<td class="num">(126)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInDeferredRevenue', window );">Deferred revenue</a></td>
<td class="num">(2,368)<span></span>
</td>
<td class="num">(1,633)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability', window );">Operating lease liabilities</a></td>
<td class="num">(257)<span></span>
</td>
<td class="num">(469)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable', window );">Income taxes payable</a></td>
<td class="nump">18<span></span>
</td>
<td class="nump">9<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">532<span></span>
</td>
<td class="nump">4,143<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property and equipment</a></td>
<td class="num">(703)<span></span>
</td>
<td class="num">(178)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleAndMaturityOfOtherInvestments', window );">Proceeds from maturities of investments</a></td>
<td class="nump">18,000<span></span>
</td>
<td class="nump">8,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireInvestments', window );">Purchases of investments</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(33,294)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash provided by (used in) investing activities</a></td>
<td class="nump">17,297<span></span>
</td>
<td class="num">(25,472)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from issuance of common stock under employee plans</a></td>
<td class="nump">1,270<span></span>
</td>
<td class="nump">1,965<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Shares repurchased for tax withholdings on vesting of restricted stock units, amount</a></td>
<td class="num">(1,480)<span></span>
</td>
<td class="num">(1,680)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceInitialPublicOffering', window );">Proceeds from issuance of common stock from public offering, net of issuance costs</a></td>
<td class="num">(72)<span></span>
</td>
<td class="nump">6,853<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by (used in) financing activities</a></td>
<td class="num">(282)<span></span>
</td>
<td class="nump">7,138<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Effect of exchange rate changes on cash, cash equivalents and restricted cash</a></td>
<td class="num">(20)<span></span>
</td>
<td class="num">(35)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash, cash equivalents and restricted cash</a></td>
<td class="nump">17,527<span></span>
</td>
<td class="num">(14,226)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash, beginning of period</a></td>
<td class="nump">30,204<span></span>
</td>
<td class="nump">31,564<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash, cash equivalents and restricted cash, end of period</a></td>
<td class="nump">$ 47,731<span></span>
</td>
<td class="nump">$ 17,338<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_AccretionAmortizationOfDiscountsAndPremiumsInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_AccretionAmortizationOfDiscountsAndPremiumsInvestments</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_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</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_DepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationAndAmortization</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_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 230<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</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_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount 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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable</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_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</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_IncreaseDecreaseInDeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInDeferredRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -SubTopic 20<br> -Topic 842<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingLeaseLiability</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_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense</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_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</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_PaymentsToAcquireInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the purchase of all investments (debt, security, other) during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceInitialPublicOffering">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the amount received from entity's first offering of stock to the public.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceInitialPublicOffering</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_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleAndMaturityOfOtherInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the sale and maturity (principal being due) of other investments, prepayment and call (request of early payment) of other investments not otherwise defined in the taxonomy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleAndMaturityOfOtherInvestments</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_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-11<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480767/946-205-45-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-19<br><br>Reference 16: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 33: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4J<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481175/810-10-55-4K<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-2<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br><br>Reference 39: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</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_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</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_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</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>19
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820983334592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessDescriptionAndAccountingPoliciesTextBlock', window );">ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>1. ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Organization</em> &#8211; Aehr Test Systems (the &#8220;Company&#8221;) was incorporated in California in May 1977 and develops and manufactures test and burn-in equipment used in the semiconductor industry. The Company&#8217;s principal products are the FOX-XP, FOX-NP, and FOX-CP wafer contact and singulated die/module parallel test and burn-in systems, the WaferPak full wafer contactor, the DiePak carrier, the WaferPak aligner, the DiePak autoloader, and test fixtures.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Basis of Presentation</em><strong> &#8211; </strong>The unaudited Condensed Consolidated Financial Statements included in this quarterly report on Form 10-Q include the accounts of the Company and its wholly-owned subsidiaries and have been prepared in accordance with U.S. generally accepted accounting principles (&#8220;GAAP&#8221;) for interim financial reporting and the rules and regulations of the Securities and Exchange Commission (the &#8220;SEC&#8221;) for interim reporting. Accordingly, the unaudited Condensed Consolidated Financial Statements do not include certain information and footnote disclosures normally included in the annual consolidated financial statements. In the opinion of management, the unaudited Condensed Consolidated Financial Statements for the interim periods presented have been prepared on a basis consistent with the May 31, 2023 audited Consolidated Financial Statements and reflect all adjustments, consisting of normal recurring adjustments, necessary for a fair presentation of the condensed consolidated financial position and results of operations as of and for such periods indicated. These unaudited Condensed Consolidated Financial Statements should be read in conjunction with the Consolidated Financial Statements contained in the Company's Annual Report on Form 10-K for the year ended May 31, 2023. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><em>Principles of Consolidation</em><strong> &#8211; </strong>The Company&#8217;s Condensed Consolidated Financial Statements include the accounts of the Company and its wholly-owned subsidiaries and all significant intercompany accounts and transactions have been eliminated upon consolidation. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Critical Accounting Policies and use of Estimates<strong>&#160;</strong></em>&#8211; The Company&#8217;s significant accounting policies are disclosed in the Company&#8217;s Annual Report on Form 10-K for the year ended May 31, 2023. There have been no significant changes in the Company&#8217;s significant accounting policies during the three and nine months ended February 29, 2024. The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Significant estimates in these Condensed Consolidated Financial Statements include valuation of inventory at the lower of cost or net realizable value and warranty reserves. Actual results could differ from those estimates.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Reclassifications - </em>Certain reclassifications have been made to the prior period Condensed Consolidated Financial Statements to conform to the current period presentation. The reclassifications had no impact on net income, total assets, total liabilities, or shareholders&#8217; equity.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><em>Concentration of Credit Risk</em> &#8211; Financial instruments which subject the Company to concentrations of credit risk consist principally of cash and cash equivalents and accounts receivable. The Company performs credit evaluations of its customers&#8217; financial condition and generally requires no collateral. The Company had revenues from individual customers in excess of 10% of total revenues as follows:&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer A</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">59.6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">82.5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">65.8</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">77.5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer B</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">19.3</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11.6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">15.7</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer C</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">17.2</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;* Amount was less than 10% of total revenue</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company had gross accounts receivable from individual customers in excess of 10% of gross accounts receivable as follows:&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>May 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer A</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">70.2</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">81.6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer B</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">18.0</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer C</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">16.5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">* Amount was less than 10% of total gross accounts receivable</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Recent Accounting Pronouncements &#8212; </em>The Company's accounts receivable are recorded at invoiced amounts less allowance for any credit losses. According to the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") 2016-13 that the Company adopted on June 1, 2023, the Company recognizes credit losses based on forward-looking current expected credit losses ("CECL"). The Company makes estimates of expected credit losses based upon its assessment of various factors, including the age of accounts receivable balances, credit quality of its customers, current economic conditions, reasonable and supportable forecasts of future economic conditions, and other factors that may affect its ability to collect from customers. The allowance for credit losses is recognized in the condensed consolidated statements of operations. The uncollectible accounts receivable are written off in the period in which a determination is made that all commercially reasonable means of recovering them have been exhausted. The total allowance for credit losses was $0 at both February 29, 2024 and May 31, 2023, and there was no write-off of accounts receivable for the periods presented. The adoption of ASU 2016-13 did not have a material impact on the Company&#8217;s Condensed Consolidated Financial Statements.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Recent Accounting Pronouncements Not Yet Adopted </em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Improvements to Reportable Segment Disclosures: In November 2023, the FASB issued ASU 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures (ASU 2023-07), which requires disclosure of incremental segment information on an annual and interim basis. This ASU is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024 on a retrospective basis. The Company is currently evaluating the effect of this pronouncement on its disclosures. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Improvements to Income Tax Disclosures: In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which expands the disclosures required for income taxes. This ASU is effective for fiscal years beginning after December 15, 2024, with early adoption permitted. The amendment should be applied on a prospective basis while retrospective application is permitted. The Company is currently evaluating the effect of this pronouncement on its disclosures.</p><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_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</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_BusinessDescriptionAndAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the business description and accounting policies concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Accounting policies describe all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//235/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 275<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//275/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessDescriptionAndAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820983868768">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>FAIR VALUE OF FINANCIAL INSTRUMENTS<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>FAIR VALUE OF FINANCIAL INSTRUMENTS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresTextBlock', window );">FAIR VALUE OF FINANCIAL INSTRUMENTS</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>2. FAIR VALUE OF FINANCIAL INSTRUMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Fair Value of Measurements &#8212;</em> The Company measures its cash equivalents and money market funds at fair value on a recurring basis. Fair value is an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that is determined based on assumptions that market participants would use in pricing an asset or a liability. Assets and liabilities recorded at fair value are measured and classified in accordance with a three-tier fair value hierarchy based on the observability of the inputs available in the market used to measure fair value:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Level 1 &#8212; Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Level 2 &#8212; Inputs that are based upon quoted prices for similar instruments in active markets, quoted prices for identical or similar instruments in markets that are not active, and model-based valuation techniques for which all significant inputs are observable in the market or can be derived from observable market data. Where applicable, these models project future cash flows and discount the future amounts to a present value using market-based observable inputs including interest rate curves, foreign exchange rates, and credit ratings.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">Level 3 &#8212; Unobservable inputs that are supported by little or no market activities.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The following table represents the Company&#8217;s assets measured at fair value on a recurring basis as of February 29, 2024, and the basis for that measurement:</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Balance as of</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, 2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Level 1</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Level 2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Level 3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Money market funds</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">44,189</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">44,189</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">44,189</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">44,189</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The following table represents the Company&#8217;s assets measured at fair value on a recurring basis as of May 31, 2023, and the basis for that measurement:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Balance as of</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>May 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Level 1</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Level 2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Level 3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Money market funds</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">27,022</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">27,022</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">U. S. treasury securities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">17,853</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">17,853</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">44,875</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">44,875</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Included in money market funds as of February 29, 2024 and May 31, 2023 is $150,000 restricted cash representing a security deposit for the Company&#8217;s United States manufacturing and office space lease. There were no financial liabilities measured at fair value as of February 29, 2024 and May 31, 2023. There were no transfers between Level 1 and Level 2 fair value measurements during the three and nine months ended February 29, 2024. The carrying amounts of financial instruments, including cash equivalents, accounts receivable, accounts payable and certain other accrued liabilities, approximate fair value due to their short maturities.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The following table summarizes the Company&#8217;s cash, cash equivalents and investments by security type as of February 29, 2024 and May 31, 2023, respectively:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Gross </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>Balances as of February 29, 2024 </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Unrealized</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Estimated</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Cost</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Loss</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Fair Value</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Cash</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3,542</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3,542</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Cash equivalents:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Money market funds</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">44,039</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">44,039</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total cash and cash equivalents</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">47,581</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">47,581</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Long-term investments:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Money market funds</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">150</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">150</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total cash, cash equivalents and investments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">47,731</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">47,731</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Gross </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>Balances as of May 31, 2023</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Unrealized</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Estimated</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Cost</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Loss</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Fair Value</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Cash</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">3,182</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">3,182</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Cash equivalents:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Money market funds</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">26,872</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">26,872</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total cash and cash equivalents</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">30,054</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">30,054</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Short term investments:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">U. S. treasury securities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">17,870</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(17</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">17,853</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Long-term investments:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Money market funds</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">150</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">150</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total cash, cash equivalents and investments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">48,074</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(17</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">48,057</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Long-term investments are included in other assets on the accompanying Condensed Consolidated Balance Sheets. Unrealized gains and temporary losses on investments classified as available-for-sale debt securities are included within accumulated other comprehensive loss, net of any related tax effect. Upon realization, those amounts are reclassified from accumulated other comprehensive loss to results of operations.</p><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_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</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_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139821071139728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BALANCE SHEET INFORMATION<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetRelatedDisclosuresAbstract', window );"><strong>BALANCE SHEET INFORMATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock', window );">BALANCE SHEET INFORMATION</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>3. BALANCE SHEET INFORMATION</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Inventories</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Inventories consisted of the following:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>May 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Raw materials and sub-assemblies</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">24,770</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">15,953</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Work in process</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11,080</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,764</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Finished goods</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,235</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,191</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">38,085</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">23,908</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Property and equipment</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Property and equipment, net&#160;consisted of the following:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Useful life</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>May 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>(in years)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Leasehold improvements</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">&#160;* </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,643</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,310</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Machinery and equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">&#160;3 - 5 </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,775</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,445</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Test equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">&#160;4 - 5 </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,030</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,998</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Furniture and fixtures</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">&#160;2 - 5 </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">717</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">706</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11,165</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">10,459</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Less: accumulated depreciation and amortization</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(8,015</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(7,700</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">3,150</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,759</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">* Lesser of estimated useful life or lease term.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Product warranties</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company provides for the estimated cost of product warranties at the time revenues are recognized on the products shipped. While the Company engages in extensive product quality programs and processes, including actively monitoring and evaluating the quality of its component suppliers, the Company&#8217;s warranty obligation is affected by product failure rates, material usage and service delivery costs incurred in correcting a product failure. Should actual product failure rates, material usage or service delivery costs differ from the Company&#8217;s estimates, revisions to the estimated warranty liability would be required. The standard warranty period is one year for systems and ninety days for parts and service.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The following is a summary of changes in the Company's liability for product warranties during the three and nine months ended February 29, 2024 and February 28, 2023:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Balance at the beginning of the period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">221</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">311</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">267</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">410</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Accruals for warranties issued during the period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">117</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">84</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">344</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">207</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Adjustments to previously existing warranty accruals</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">-</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">-</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">61</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Consumption of reserves</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(123</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(107</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(396</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(390</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Balance at the end of the period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">215</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">288</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">215</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">288</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The accrued warranty balance is included in accrued expenses on the accompanying Condensed Consolidated Balance Sheets.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Deferred revenue</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Deferred revenue, short-term&#160;consisted of the following:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>May 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer deposits</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">418</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,690</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Deferred revenue</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">68</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">132</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">486</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,822</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_BalanceSheetRelatedDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetRelatedDisclosuresAbstract</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_SupplementalBalanceSheetDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//210/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalBalanceSheetDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820979368432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAX<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>INCOME TAX</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">INCOME TAX</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>4. INCOME TAX</strong>&#160;&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company is subject to U.S federal and state and foreign income taxes as a corporation. The Company&#8217;s tax provision and the resulting effective tax rate for the interim period is determined based upon its estimated annual effective tax rate adjusted for the effect of discrete items arising in that quarter. The Company recorded a provision for income taxes of $7,000 and $43,000 for the three and nine months ended February 29, 2024, respectively, which consisted primarily of foreign withholding taxes and foreign income taxes. The Company recorded a provision for income taxes of $17,000&#160;and $49,000 for the three and nine months ended February 28, 2023, respectively, which consisted primarily of foreign withholding taxes and foreign income taxes.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Income taxes have been provided using the liability method whereby deferred tax assets and liabilities are determined based on differences between financial reporting and tax bases of assets and liabilities and net operating loss and tax credit carryforwards measured using the enacted tax rates and laws that will be in effect when the differences are expected to reverse, or the carryforwards are utilized. Valuation allowances are established when it is determined that it is more likely than not that such assets will not be realized.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Since fiscal 2009, a full valuation allowance was established against all deferred tax assets, as management determined that it was more likely than not that certain deferred tax assets would not be realized. The Company continues to reassess the need for a valuation allowance on a quarterly basis.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company accounts for uncertain tax positions consistent with authoritative guidance. The guidance prescribes a &#8220;more likely than not&#8221; recognition threshold and measurement attribute for the financial statement recognition and measurement of a tax position taken or expected to be taken in a tax return. The Company recognizes interest and penalties related to unrecognized tax benefits as a component of income taxes.</p><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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</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_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//740/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482526/740-270-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820979211648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BORROWING ARRANGEMENTS<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>BORROWING ARRANGEMENTS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureTextBlock', window );">BORROWING ARRANGEMENTS</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>5. BORROWING ARRANGEMENTS</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On January 16, 2020, the Company entered into a Loan and Security Agreement (the &#8220;Loan Agreement&#8221;) with Silicon Valley Bank (&#8220;SVB&#8221;). Pursuant to the Loan Agreement, the Company may borrow up to (a) the lesser of (i) the revolving line of $4.0 million or (ii) the amount available under the borrowing base under a revolving line of credit which is collateralized by all the Company&#8217;s assets except intellectual property. The borrowing base is 80% of eligible accounts, as determined by SVB from the Company&#8217;s most recent borrowing base statement; provided, however, SVB has the right to decrease the foregoing percentage in its good faith business judgment to mitigate the impact of certain events or conditions, which may adversely affect the collateral or its value. Subject to an event of default, the principal amount outstanding under the revolving line of credit will accrue interest at a floating per annum rate equal to the greater of (a) the prime rate plus an additional percentage of up to 1%, which additional percentage depends on the Company&#8217;s adjusted quick ratio, and (b) 4.75%. Interest is payable monthly on the last calendar day of each month and the outstanding principal amount, the unpaid interest and all other obligations are due on the maturity date, which is 364 days from the effective date of January 13, 2020.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On January 14, 2021, the Company entered into the First Amendment to Loan and Security Agreement (the &#8220;Amendment&#8221;) with SVB. The Amendment, among other things, extended the Revolving Line Maturity Date to July 14, 2021; provided, however, that if the Company achieved specified operating metrics on a consolidated basis on or prior to May 31, 2021 the Amended Revolving Line Maturity Date would be extended to January 13, 2022. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On January 11, 2022, the Company entered into the Second Amendment to the Loan and Security Agreement (the &#8220;Second Amendment&#8221;) with SVB. The Second Amendment, among other things, (A) increased the available amount of the line up to the lesser of (i) $10 million or (ii) the available amount under the borrowing base, under a revolving line of credit, (B) allowed for borrowing up to $3 million of the available balance based upon eligible customer purchase orders, (C) reduced the interest rate for account advances under the line to the greater of (a) prime rate plus an additional percentage up to 1.0%, which additional percentage depends on the Company&#8217;s adjusted quick ratio, and (b) 3.25%, reduces the interest rate for purchase order advances under the line to the greater of (a) prime rate plus an additional percentage up to 1.5%, which additional percentage depends on the Company&#8217;s adjusted quick ratio, and (b) 3.75%, and (D) extended the maturity date to January 13, 2023.&#160; </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On January 10, 2023, the Company entered into the Third Amendment to the Loan and Security Agreement (the &#8220;Third Amendment&#8221;) with SVB. The Third Amendment, among other things, extends the Revolving Line Maturity Date to January 13, 2024, provided, however, that (i) if the Company submits a fiscal year 2024 plan of record that is generally acceptable to SVB, and (ii) the minimum net liquidity at the end of November 30, 2023 is at least $20.0 million, the Amended Revolving Line Maturity Date would be extended to January 13, 2025. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company terminated the revolving line on January 4, 2024.</p><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_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</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_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//470/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820983492032">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>COMMITMENTS AND CONTINGENCIES<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>COMMITMENTS AND CONTINGENCIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">COMMITMENTS AND CONTINGENCIES</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>6. COMMITMENTS AND CONTINGENCIES</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Purchase Obligations</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company has purchase obligations to certain suppliers. In some cases, the products the Company purchases are unique and have provisions against cancellation of the order.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Contingencies</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company may, from time to time, be involved in legal proceedings arising in the ordinary course of business. While there can be no assurances as to the ultimate outcome of any litigation involving the Company, management does not believe any pending legal proceedings will result in judgment or settlement that will have a material adverse effect on the Company&#8217;s consolidated financial position, results of operations or cash flows.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">In the normal course of business to facilitate sales of its products, the Company indemnifies other parties, including customers, with respect to certain matters, for example, including against losses arising from a breach of representations or covenants, or from intellectual property infringement or other claims. These agreements may limit the time within which an indemnification claim can be made and the amount of the claim. In addition, the Company has entered into indemnification agreements with its officers and directors, and the Company&#8217;s bylaws contain similar indemnification obligations to the Company&#8217;s agents.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">It is not possible to determine the maximum potential amount under these indemnification agreements due to the limited history of prior indemnification claims and the unique facts and circumstances involved in each particular agreement. To date, payments made by the Company under these agreements have not had a material impact on the Company&#8217;s operating results, financial position or cash flow.</p><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_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</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_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//450/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 440<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480327/954-440-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482648/440-10-50-4<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 440<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//440/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820984789712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SHAREHOLDERS EQUITY<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>SHAREHOLDERS EQUITY</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">SHAREHOLDERS EQUITY</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>7. SHAREHOLDERS&#8217; EQUITY </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">On August 25, 2021, the Board of Directors authorized management to take actions necessary for the execution of a $75 million shelf registration. A Registration Statement on Form S-3 was filed with the SEC on September 3, 2021. A Prospectus Supplement for an "At the Market" ("ATM") sale of $25 million of common stock was subsequently filed on September 17, 2021. On October 8, 2021, the Company executed the ATM offering by selling 1,696,729 shares of common stock at an average selling price of $14.73 per share. The gross proceeds to the Company were $25.0 million, before commission fees of $0.7 million and offering expenses of $0.3 million. Another Prospectus Supplement for an ATM sale of $25 million of common stock was subsequently filed on February 8, 2023. The Company partially executed the ATM offering by selling 208,917 shares of common stock at an average selling price of $34.78 per share. The gross proceeds to the Company during the quarter ended February 28, 2023 were $7.3 million, before commissions of $0.2 million and offering expenses of $0.2 million. As of February 29, 2024, the remaining amount of the ATM offering was $17.7 million.</p><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_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</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_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481062/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481004/946-505-50-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480237/815-40-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//505/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-13<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-14<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-16<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820983455840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCUMULATED OTHER COMPREHENSIVE LOSS<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract', window );"><strong>ACCUMULATED OTHER COMPREHENSIVE LOSS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNoteTextBlock', window );">ACCUMULATED OTHER COMPREHENSIVE LOSS</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>8. ACCUMULATED OTHER COMPREHENSIVE LOSS </strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Changes in the components of accumulated other comprehensive loss, net of tax, were as follows (in thousands):</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Cumulative</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Unrealized loss</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>translation adjustment</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>on investments, net</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Total</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Balance as of May 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(138</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(17</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(155</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Other comprehensive income (loss) before reclassifications</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(6</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">17</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">11</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Balance as of February 29,&#160; 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(144</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(144</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></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_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract</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_ComprehensiveIncomeNoteTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//220/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNoteTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820979396576">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUE<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>REVENUE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">REVENUE</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>9. REVENUE</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Revenue recognition</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company recognizes revenue when promised goods or services are transferred to customers in an amount that reflects the consideration to which the Company expects to be entitled in exchange for those goods or services by following a five-step process: (1) identify the contract with a customer, (2) identify the performance obligations in the contract, (3) determine the transaction price, (4) allocate the transaction price, and (5) recognize revenue when or as the Company satisfies a performance obligation, as further described below.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Performance obligations include sales of systems, contactors, spare parts, as well as installation and training services included in customer contracts. A contract&#8217;s transaction price is allocated to each distinct performance obligation. In determining the transaction price, the Company evaluates whether the price is subject to refund or adjustment to determine the net consideration to which the Company expects to be entitled. The Company generally does not grant return privileges, except for defective products during the warranty period.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">For contracts that contain multiple performance obligations, the Company allocates the transaction price to the performance obligations on a relative standalone selling price basis. Standalone selling prices are based on multiple factors including, but not limited to historical discounting trends for products and services and pricing practices in different geographies. Revenue for systems and spares is recognized at a point in time, which is generally upon shipment or delivery and evidenced by transfer of title and risk of loss to the customer. Revenue from services is recognized over time as the customer receives the benefit over the contractual period of generally one year or less.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company has elected the practical expedient to not assess whether a contract has a significant financing component as the Company&#8217;s standard payment terms are less than one year. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company sells its products primarily through a direct sales force. In certain international markets, the Company sells its products through independent distributors.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Disaggregation of revenue</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The following presents information about the Company&#8217;s net revenues in different geographic areas, which are based upon ship-to locations, and by product category:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Asia</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,167</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">14,849</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">43,320</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">34,873</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">United States</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,640</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,343</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,105</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,761</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Europe</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">756</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">14</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3,193</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">58</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,563</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">17,206</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">49,618</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">42,692</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Systems</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,971</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9,821</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">20,750</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">26,315</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Contactors</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,759</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,299</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">25,174</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">13,400</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Services</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">833</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,086</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3,694</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,977</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,563</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">17,206</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">49,618</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">42,692</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">With the exception of the amount of service contracts and extended warranties, the Company&#8217;s product net revenues are recognized at a point in time when control transfers to the customer. The following presents net revenues based on timing of recognition:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Timing of revenue recognition:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">&#160;&#160; Products and services transferred at a point in time</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,240</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">16,863</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">48,225</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">41,523</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">&#160;&#160; Services transferred over time</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">323</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">343</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,393</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,169</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,563</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">17,206</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">49,618</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">42,692</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Contract balances&#160;&#160;&#160;</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Accounts receivable are recognized in the period the Company delivers goods or provides services and when the Company&#8217;s right to consideration is unconditional. &#160;Contract assets include unbilled receivables which represent revenues that are earned in advance of scheduled billings to customers. These amounts are primarily related to product sales where transfer of control has occurred but the Company has not yet invoiced. As of February 29, 2024, unbilled receivables were $345,000 and were included in prepaid expenses and other current assets on the accompanying Condensed Consolidated Balance Sheets. Contract assets were not significant as of May 31, 2023. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Contract liabilities include payments received in advance of performance under a contract and are satisfied as the associated revenue is recognized. Contract liabilities as of February 29, 2024 and May 31, 2023 were $486,000 and $2,853,000, respectively, and were included in deferred revenue, short-term and deferred revenue, long-term on the accompanying Condensed Consolidated Balance Sheets. During the three and nine months ended February 29, 2024, the Company recognized $31,000 and $2,802,000 in revenue, respectively, which were included in contract liabilities as of May 31, 2023.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Remaining performance obligations</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">On February 29, 2024, the Company had $68,000 of remaining performance obligations, which were comprised of service contracts and extended warranty contracts not yet delivered. The Company expects to recognize approximately&#160;30.2% of its remaining performance obligations as revenue in the remainder of fiscal 2024, and an additional&#160;69.8% in fiscal 2025. The foregoing excludes the value of other remaining performance obligations, as they have original durations of one year or less and excludes information about variable consideration allocated entirely to a wholly unsatisfied performance obligation.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Costs to obtain or fulfill a contract</em></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company generally expenses sales commissions when incurred as a component of selling, general and administrative expenses as the amortization period is typically less than one year. Additionally, the majority of the Company&#8217;s cost of fulfillment as a manufacturer of products is classified as inventory and fixed assets, which are accounted for under the respective guidance for those asset types. Other costs of contract fulfillment are immaterial due to the nature of the Company&#8217;s products and their respective manufacturing process.</p><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_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</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_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-9<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-15<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139821071546096">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>STOCK-BASED COMPENSATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">STOCK-BASED COMPENSATION</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>10. STOCK-BASED COMPENSATION</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Stock-based compensation expense consists of expenses for stock options, restricted stock units (&#8220;RSUs&#8221;), performance RSUs (&#8220;PRSUs&#8221;), restricted shares, performance restricted shares and employee stock purchase plan (&#8220;ESPP&#8221;), purchase rights. Stock-based compensation expense for stock options and ESPP purchase rights is measured at each grant date, based on the fair value of the award using the Black-Scholes option valuation model, and is recognized as expense over the employee&#8217;s requisite service period. This model was developed for use in estimating the value of publicly traded options that have no vesting restrictions and are fully transferable. The Company&#8217;s employee stock options have characteristics significantly different from those of publicly traded options. For RSUs, PRSUs, restricted shares and performance restricted shares, stock-based compensation expense is based on the fair value of the Company&#8217;s common stock at the grant date and is recognized as expense over the employee&#8217;s requisite service period. All of the Company&#8217;s stock-based compensation is accounted for as equity instruments. See Note 13 in the Company&#8217;s Annual Report on Form 10-K for fiscal 2023 filed on August 28, 2023 for further information regarding the 2016 Equity Incentive Plan and the ESPP. On October 23, 2023, the shareholders of the Company approved the 2023 Equity Incentive Plan and on October 27, 2023, the Company filed the Form S-8 to issue awards during this quarter onwards from a pool of 1,500,000 shares. Full value awards, which are equity awards other than options, stock appreciation rights or other awards that are based solely on an increase in value of the shares following the grant date, when granted or forfeited will be counted as the same number of common stock shares added or deducted to the remaining available shares for issuance under the 2023 Equity Incentive Plan.&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The following table summarizes the stock-based compensation expense for the three and nine months ended February 29, 2024 and February 28, 2023:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Cost of sales</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">58</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">75</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">222</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">252</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Research and development</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">148</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">158</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">440</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">513</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Selling, general and administrative</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">377</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">359</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,081</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,330</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">583</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">592</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,743</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,095</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Stock-based compensation expense totaling $252,000&#160;and $120,000 was capitalized as part of inventory as of February 29, 2024 and as of May 31, 2023, respectively.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company&#8217;s nonvested RSU, PRSU and restricted shares activities during the three and nine months ended February 29, 2024 were as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Weighted</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Average Grant</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Date Fair</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Shares</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Value</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>(in thousands)</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Per Share</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Unvested, May 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">345</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6.40</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Granted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Vested</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(77</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7.16</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Forfeited</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(52</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5.79</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Unvested, August 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">216</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6.27</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Granted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">203</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">31.51</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Vested</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(28</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">8.02</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Forfeited</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(1</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">29.79</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Unvested, November 30, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">390</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">19.28</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Granted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">22.57</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Vested</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(32</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">12.42</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Forfeited</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(6</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6.21</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Unvested, February 29, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">353</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">20.16</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Under the ESPP, the Company issued&#160;24,000&#160;and&#160;109,000&#160;shares, respectively, during the nine months ended February 29, 2024 and February 28, 2023.&#160;As of February 29, 2024 and February 28, 2023, ESPP shares available for issuance totaled 373,000&#160;and&#160;499,000, respectively.</p><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_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//718/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</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>29
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820984649600">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NET INCOME (LOSS) PER SHARE<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Net income (loss) per share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">NET INCOME (LOSS) PER SHARE</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>11. NET INCOME (LOSS) PER SHARE</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Basic net income (loss) per share is determined using the weighted average number of common shares outstanding during the period. Diluted net income (loss) per share is determined using the weighted average number of common shares and potential common shares (representing the hypothetical number of incremental shares issuable under the assumed exercise of outstanding stock options, and vesting of outstanding RSUs and ESPP shares) during the period using the treasury stock method. The calculation of dilutive shares outstanding excludes securities that would have an antidilutive effect on net income (loss) per share.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The following table presents the computation of basic and diluted net income (loss) per share:&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands, except per share data)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Numerator:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Net income (loss)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(1,471</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,132</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">9,292</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">8,446</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Denominator:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Basic weighted average shares outstanding</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">28,866</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">27,893</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">28,773</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">27,571</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Dilutive effect of common equivalent shares outstanding</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,480</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">897</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,509</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Diluted weighted average shares outstanding</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">28,866</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">29,373</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">29,670</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">29,080</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Net income per share - Basic</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.05</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">0.15</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">0.32</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">0.31</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Net income per share - Diluted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.05</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">0.14</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">0.31</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">0.29</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Antidilutive employee share-based award shares, excluded</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,203</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">15</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">71</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">15</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</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_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//260/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820978403072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENT AND CONCENTRATION INFORMATION<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>SEGMENT AND CONCENTRATION INFORMATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">SEGMENT AND CONCENTRATION INFORMATION</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><strong>12. SEGMENT AND CONCENTRATION INFORMATION</strong></p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Operating segments are defined as components of an enterprise about which separate financial information is available that is evaluated regularly by the chief operating decision maker, or group, in deciding how to allocate resources and in assessing performance.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company&#8217;s chief operating decision maker, the chief executive officer, reviews discrete financial information presented on a consolidated basis for purposes of regularly making operating decisions and assessing financial performance. Accordingly, the Company considers itself to be in one operating segment.</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Long-lived assets, net by geographic area are as follows:</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>May 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">United States</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,015</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,713</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">International</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">135</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">46</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total long-lived assets, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">3,150</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,759</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</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_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//280/tableOfContent<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-26<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 34<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-34<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-21<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139821070958928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Policies)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock', window );">Organization</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Organization</em> &#8211; Aehr Test Systems (the &#8220;Company&#8221;) was incorporated in California in May 1977 and develops and manufactures test and burn-in equipment used in the semiconductor industry. The Company&#8217;s principal products are the FOX-XP, FOX-NP, and FOX-CP wafer contact and singulated die/module parallel test and burn-in systems, the WaferPak full wafer contactor, the DiePak carrier, the WaferPak aligner, the DiePak autoloader, and test fixtures.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock', window );">Basis of Presentation</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Basis of Presentation</em><strong> &#8211; </strong>The unaudited Condensed Consolidated Financial Statements included in this quarterly report on Form 10-Q include the accounts of the Company and its wholly-owned subsidiaries and have been prepared in accordance with U.S. generally accepted accounting principles (&#8220;GAAP&#8221;) for interim financial reporting and the rules and regulations of the Securities and Exchange Commission (the &#8220;SEC&#8221;) for interim reporting. Accordingly, the unaudited Condensed Consolidated Financial Statements do not include certain information and footnote disclosures normally included in the annual consolidated financial statements. In the opinion of management, the unaudited Condensed Consolidated Financial Statements for the interim periods presented have been prepared on a basis consistent with the May 31, 2023 audited Consolidated Financial Statements and reflect all adjustments, consisting of normal recurring adjustments, necessary for a fair presentation of the condensed consolidated financial position and results of operations as of and for such periods indicated. These unaudited Condensed Consolidated Financial Statements should be read in conjunction with the Consolidated Financial Statements contained in the Company's Annual Report on Form 10-K for the year ended May 31, 2023. </p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Principles of Consolidation</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><em>Principles of Consolidation</em><strong> &#8211; </strong>The Company&#8217;s Condensed Consolidated Financial Statements include the accounts of the Company and its wholly-owned subsidiaries and all significant intercompany accounts and transactions have been eliminated upon consolidation. </p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Critical Accounting Policies and use of Estimates</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Critical Accounting Policies and use of Estimates<strong>&#160;</strong></em>&#8211; The Company&#8217;s significant accounting policies are disclosed in the Company&#8217;s Annual Report on Form 10-K for the year ended May 31, 2023. There have been no significant changes in the Company&#8217;s significant accounting policies during the three and nine months ended February 29, 2024. The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Significant estimates in these Condensed Consolidated Financial Statements include valuation of inventory at the lower of cost or net realizable value and warranty reserves. Actual results could differ from those estimates.</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Reclassifications', window );">Reclassifications</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Reclassifications - </em>Certain reclassifications have been made to the prior period Condensed Consolidated Financial Statements to conform to the current period presentation. The reclassifications had no impact on net income, total assets, total liabilities, or shareholders&#8217; equity.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskCreditRisk', window );">Concentration of Credit Risk</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"><em>Concentration of Credit Risk</em> &#8211; Financial instruments which subject the Company to concentrations of credit risk consist principally of cash and cash equivalents and accounts receivable. The Company performs credit evaluations of its customers&#8217; financial condition and generally requires no collateral. The Company had revenues from individual customers in excess of 10% of total revenues as follows:&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer A</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">59.6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">82.5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">65.8</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">77.5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer B</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">19.3</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11.6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">15.7</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer C</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">17.2</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;* Amount was less than 10% of total revenue</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">The Company had gross accounts receivable from individual customers in excess of 10% of gross accounts receivable as follows:&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>May 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer A</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">70.2</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">81.6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer B</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">18.0</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer C</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">16.5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">* Amount was less than 10% of total gross accounts receivable</p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recent Accounting Pronouncements</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"><em>Recent Accounting Pronouncements &#8212; </em>The Company's accounts receivable are recorded at invoiced amounts less allowance for any credit losses. According to the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") 2016-13 that the Company adopted on June 1, 2023, the Company recognizes credit losses based on forward-looking current expected credit losses ("CECL"). The Company makes estimates of expected credit losses based upon its assessment of various factors, including the age of accounts receivable balances, credit quality of its customers, current economic conditions, reasonable and supportable forecasts of future economic conditions, and other factors that may affect its ability to collect from customers. The allowance for credit losses is recognized in the condensed consolidated statements of operations. The uncollectible accounts receivable are written off in the period in which a determination is made that all commercially reasonable means of recovering them have been exhausted. The total allowance for credit losses was $0 at both February 29, 2024 and May 31, 2023, and there was no write-off of accounts receivable for the periods presented. The adoption of ASU 2016-13 did not have a material impact on the Company&#8217;s Condensed Consolidated Financial Statements.</p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_aehr_RecentAccountingPronouncementsNotYetAdoptedPolicyTextBlock', window );">Recent Accounting Pronouncements Not Yet Adopted</a></td>
<td class="text"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Improvements to Reportable Segment Disclosures: In November 2023, the FASB issued ASU 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures (ASU 2023-07), which requires disclosure of incremental segment information on an annual and interim basis. This ASU is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024 on a retrospective basis. The Company is currently evaluating the effect of this pronouncement on its disclosures. </p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">&#160;</p><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;">Improvements to Income Tax Disclosures: In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which expands the disclosures required for income taxes. This ASU is effective for fiscal years beginning after December 15, 2024, with early adoption permitted. The amendment should be applied on a prospective basis while retrospective application is permitted. The Company is currently evaluating the effect of this pronouncement on its disclosures.</p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_aehr_RecentAccountingPronouncementsNotYetAdoptedPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">aehr_RecentAccountingPronouncementsNotYetAdoptedPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aehr_</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_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</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_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//235/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 275<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//275/tableOfContent<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//205/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskCreditRisk">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for credit risk.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 825<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480981/942-825-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskCreditRisk</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483426/235-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Reclassifications">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for classifying current financial statements, which may be different from classifications in the prior year's financial statements. Disclose any material changes in classification including an explanation of the reason for the change and the areas impacted.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//205/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Reclassifications</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-12<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139821070916656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES</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="Show.showAR( this, 'defref_aehr_ScheduleOfFinancialInstrumentsTextblock', window );">Schedule of financial instruments</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer A</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">59.6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">82.5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">65.8</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">77.5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer B</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">19.3</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11.6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">15.7</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer C</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">17.2</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>May 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer A</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">70.2</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">81.6</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer B</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">18.0</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer C</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td colspan="2"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;">*</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">16.5</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">%</td></tr></tbody></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_aehr_ScheduleOfFinancialInstrumentsTextblock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">aehr_ScheduleOfFinancialInstrumentsTextblock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aehr_</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_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</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>33
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139821071156896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>FAIR VALUE OF FINANCIAL INSTRUMENTS (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>FAIR VALUE OF FINANCIAL INSTRUMENTS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock', window );">Fair value by hierarchy</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Balance as of</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, 2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Level 1</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Level 2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Level 3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Money market funds</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">44,189</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">44,189</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">44,189</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">44,189</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Balance as of</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>May 31, 2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Level 1</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Level 2</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Level 3</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Money market funds</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">27,022</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">27,022</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">U. S. treasury securities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">17,853</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">17,853</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">44,875</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">44,875</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock', window );">Cash, cash equivalents and investments by security type</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Gross </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>Balances as of February 29, 2024 </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Unrealized</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Estimated</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Cost</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Loss</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Fair Value</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Cash</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3,542</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3,542</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Cash equivalents:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Money market funds</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">44,039</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">44,039</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total cash and cash equivalents</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">47,581</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">47,581</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Long-term investments:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Money market funds</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">150</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">150</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total cash, cash equivalents and investments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">47,731</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">47,731</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Gross </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>Balances as of May 31, 2023</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Unrealized</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Estimated</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Cost</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Loss</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Fair Value</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Cash</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">3,182</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">3,182</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Cash equivalents:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Money market funds</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">26,872</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">26,872</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total cash and cash equivalents</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">30,054</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">30,054</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Short term investments:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">U. S. treasury securities</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">17,870</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(17</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">17,853</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Long-term investments:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Money market funds</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">150</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">150</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total cash, cash equivalents and investments</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">48,074</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(17</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">48,057</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</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_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of cash, cash equivalents, and investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139821071765904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BALANCE SHEET INFORMATION (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetRelatedDisclosuresAbstract', window );"><strong>BALANCE SHEET INFORMATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Inventories</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>May 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Raw materials and sub-assemblies</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">24,770</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">15,953</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Work in process</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11,080</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,764</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Finished goods</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,235</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,191</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">38,085</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">23,908</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Property and equipment, net</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Useful life</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>May 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>(in years)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Leasehold improvements</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">&#160;* </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,643</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,310</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Machinery and equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">&#160;3 - 5 </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,775</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,445</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Test equipment</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">&#160;4 - 5 </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,030</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,998</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Furniture and fixtures</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;">&#160;2 - 5 </p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">717</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">706</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">11,165</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">10,459</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Less: accumulated depreciation and amortization</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(8,015</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(7,700</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">3,150</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,759</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock', window );">Liability for product warranties</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Balance at the beginning of the period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">221</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">311</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">267</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">410</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Accruals for warranties issued during the period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">117</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">84</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">344</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">207</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Adjustments to previously existing warranty accruals</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">-</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;">-</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">61</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Consumption of reserves</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(123</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(107</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(396</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(390</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Balance at the end of the period</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">215</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">288</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">215</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">288</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenueByArrangementDisclosureTextBlock', window );">Customer deposits and deferred revenue, short-term</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>May 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Customer deposits</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">418</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,690</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Deferred revenue</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">68</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">132</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">486</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,822</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_BalanceSheetRelatedDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetRelatedDisclosuresAbstract</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_DeferredRevenueByArrangementDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the type of arrangements and the corresponding amounts that comprise the current and noncurrent balance of deferred revenue as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueByArrangementDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820983687280">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCUMULATED OTHER COMPREHENSIVE LOSS (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract', window );"><strong>ACCUMULATED OTHER COMPREHENSIVE LOSS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock', window );">Schedule of Changes in the components of accumulated other comprehensive loss, net of tax</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Cumulative</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Unrealized loss</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>translation adjustment</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>on investments, net</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Total</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Balance as of May 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(138</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(17</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(155</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Other comprehensive income (loss) before reclassifications</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(6</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">17</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">11</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Balance as of February 29,&#160; 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(144</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(144</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td></tr></tbody></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_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract</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_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of accumulated other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481674/830-30-50-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481694/830-30-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139821071319680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUE (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>REVENUE</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Disaggregation of revenue</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Asia</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5,167</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">14,849</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">43,320</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">34,873</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">United States</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,640</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,343</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,105</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,761</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Europe</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">756</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">14</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3,193</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">58</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,563</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">17,206</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">49,618</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">42,692</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Systems</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,971</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">9,821</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">20,750</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">26,315</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Contactors</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">4,759</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6,299</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">25,174</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">13,400</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Services</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">833</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,086</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">3,694</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">2,977</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,563</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">17,206</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">49,618</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">42,692</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Timing of revenue recognition:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">&#160;&#160; Products and services transferred at a point in time</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7,240</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">16,863</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">48,225</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">41,523</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">&#160;&#160; Services transferred over time</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">323</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">343</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,393</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,169</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">7,563</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">17,206</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">49,618</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">42,692</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</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>37
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139821071139728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCKBASED COMPENSATION (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>STOCK-BASED COMPENSATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Compensation costs related to the Company's stock-based compensation</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Cost of sales</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">58</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">75</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">222</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">252</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Research and development</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">148</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">158</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">440</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">513</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Selling, general and administrative</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">377</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">359</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,081</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,330</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">583</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">592</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">1,743</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,095</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock', window );">Nonvested RSU activity</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Weighted</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Average Grant</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Date Fair</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Shares</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Value</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>(in thousands)</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Per Share</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Unvested, May 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">345</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6.40</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Granted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">-</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Vested</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(77</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">7.16</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Forfeited</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(52</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">5.79</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Unvested, August 31, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">216</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6.27</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Granted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">203</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">31.51</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Vested</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(28</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">8.02</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Forfeited</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(1</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">29.79</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Unvested, November 30, 2023</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">390</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">19.28</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Granted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">22.57</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Vested</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">(32</td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">12.42</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Forfeited</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">(6</td><td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">6.21</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Unvested, February 29, 2024</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">353</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">20.16</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</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_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of activity for award under share-based payment arrangement. Includes, but is not limited to, outstanding award at beginning and end of year, granted, exercised, forfeited, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139821071319680">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NET INCOME (LOSS) PER SHARE (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Net income (loss) per share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Net income (loss) earnings per share</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Three Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>Nine Months Ended </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 28, </strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands, except per share data)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Numerator:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" colspan="2" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Net income (loss)</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(1,471</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">4,132</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">9,292</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">8,446</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Denominator:</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Basic weighted average shares outstanding</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">28,866</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">27,893</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">28,773</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">27,571</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Dilutive effect of common equivalent shares outstanding</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">-</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,480</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">897</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">1,509</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Diluted weighted average shares outstanding</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">28,866</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">29,373</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">29,670</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">29,080</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Net income per share - Basic</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.05</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">0.15</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">0.32</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">0.31</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Net income per share - Diluted</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">(0.05</td><td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;">)</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">0.14</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">0.31</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">0.29</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Antidilutive employee share-based award shares, excluded</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">1,203</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">15</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">71</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">15</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</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_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820983467232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>SEGMENT AND CONCENTRATION INFORMATION (Tables)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th"><div>Feb. 29, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>SEGMENT AND CONCENTRATION INFORMATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock', window );">Property and equipment by geographic region</a></td>
<td class="text"><table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"><tbody><tr style="height:15px"><td><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>February 29,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>May 31,</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px"><td style="vertical-align:bottom;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"><strong>(In thousands)</strong></p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2024</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"><p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"><strong>2023</strong></p></td><td style="PADDING-BOTTOM: 1px;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">United States</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">3,015</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;">2,713</td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#ffffff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">International</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">135</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;">46</td><td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr><tr style="height:15px;background-color:#cceeff"><td style="vertical-align:top;"><p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in">Total long-lived assets, net</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">3,150</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td><td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;">$</td><td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;">2,759</td><td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"><p style="font-size:10pt;font-family:times new roman;margin:0px">&#160;</p></td></tr></tbody></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_LongLivedAssetsByGeographicAreasTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph b<br> -SubTopic 10<br> -Topic 280<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</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>40
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820984172448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Details)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="3">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>May 31, 2023</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=aehr_RevenuesMember', window );">Revenue | Customer B</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="nump">19.30%<span></span>
</td>
<td class="nump">11.60%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15.70%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=aehr_RevenuesMember', window );">Revenue | Customer C</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17.20%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=aehr_RevenuesMember', window );">Revenue | Customer A</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="nump">59.60%<span></span>
</td>
<td class="nump">82.50%<span></span>
</td>
<td class="nump">65.80%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">77.50%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable | Customer B</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">18.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable | Customer C</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</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="nump">16.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember', window );">Accounts Receivable | Customer A</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration Risk, Percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">70.20%<span></span>
</td>
<td class="nump">81.60%<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_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the "benchmark" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</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_ConcentrationRiskByBenchmarkAxis=aehr_RevenuesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=aehr_RevenuesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=aehr_CustomerBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=aehr_CustomerBMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=aehr_CustomerCMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=aehr_CustomerCMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=aehr_CustomerAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=aehr_CustomerAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820984236128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>May 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SecuritiesBorrowedAllowanceForCreditLoss', window );">Allowance for credit losses</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=aehr_RevenueMember', window );">Revenue [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_aehr_ConcentrationRiskPercentage', window );">Concentration risk</a></td>
<td class="nump">10.00%<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_aehr_ConcentrationRiskPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">aehr_ConcentrationRiskPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aehr_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</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_SecuritiesBorrowedAllowanceForCreditLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on security borrowed.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479319/326-20-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SecuritiesBorrowedAllowanceForCreditLoss</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_ConcentrationRiskByTypeAxis=aehr_RevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=aehr_RevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139821071220624">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>FAIR VALUE OF FINANCIAL INSTRUMENTS (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>May 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByAssetClassAxis=us-gaap_AssetsMember', window );">Assets [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsFairValueDisclosure', window );">Investment securities</a></td>
<td class="nump">$ 44,189<span></span>
</td>
<td class="nump">$ 44,875<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=aehr_UStreasurysecuritiesMember', window );">U.S. treasury securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsFairValueDisclosure', window );">Investment securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,853<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member', window );">Level 1 [Member] | Assets [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsFairValueDisclosure', window );">Investment securities</a></td>
<td class="nump">44,189<span></span>
</td>
<td class="nump">44,875<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member', window );">Level 2 [Member] | Assets [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsFairValueDisclosure', window );">Investment securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member', window );">Level 3 [Member] | Assets [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsFairValueDisclosure', window );">Investment securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=aehr_MoneyMarketFundMember', window );">Money Market Funds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsFairValueDisclosure', window );">Investment securities</a></td>
<td class="nump">44,189<span></span>
</td>
<td class="nump">27,022<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=aehr_MoneyMarketFundMember', window );">Money Market Funds | Level 1 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsFairValueDisclosure', window );">Investment securities</a></td>
<td class="nump">44,189<span></span>
</td>
<td class="nump">27,022<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=aehr_MoneyMarketFundMember', window );">Money Market Funds | Level 2 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsFairValueDisclosure', window );">Investment securities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=aehr_MoneyMarketFundMember', window );">Money Market Funds | Level 3 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsFairValueDisclosure', window );">Investment securities</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialInstrumentAxis=aehr_USTreasurySecurityMember', window );">US Treasury Securities | Level 1 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsFairValueDisclosure', window );">Investment securities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17,853<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_InvestmentsFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value portion of investment securities, including, but not limited to, marketable securities, derivative financial instruments, and investments accounted for under the equity method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482106/820-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentsFairValueDisclosure</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_FairValueByAssetClassAxis=us-gaap_AssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByAssetClassAxis=us-gaap_AssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=aehr_UStreasurysecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=aehr_UStreasurysecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=aehr_MoneyMarketFundMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=aehr_MoneyMarketFundMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=aehr_USTreasurySecurityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=aehr_USTreasurySecurityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820978293216">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>FAIR VALUE OF FINANCIAL INSTRUMENTS (Details 1) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>May 31, 2023</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
<th class="th"><div>May 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Total cash and cash equivalents</a></td>
<td class="nump">$ 47,581<span></span>
</td>
<td class="nump">$ 30,054<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Total cash, cash equivalents and investments</a></td>
<td class="nump">47,731<span></span>
</td>
<td class="nump">30,204<span></span>
</td>
<td class="nump">$ 17,338<span></span>
</td>
<td class="nump">$ 31,564<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermInvestments', window );">Short-term Investments</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">17,853<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=aehr_CostMember', window );">Cost [Member]</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Cash', window );">Cash</a></td>
<td class="nump">3,542<span></span>
</td>
<td class="nump">3,182<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Total cash and cash equivalents</a></td>
<td class="nump">47,581<span></span>
</td>
<td class="nump">30,054<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Total cash, cash equivalents and investments</a></td>
<td class="nump">47,731<span></span>
</td>
<td class="nump">48,074<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=aehr_CostMember', window );">Cost [Member] | Money Market Funds</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash equivalents</a></td>
<td class="nump">44,039<span></span>
</td>
<td class="nump">26,872<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermInvestments', window );">Long-term investments</a></td>
<td class="nump">150<span></span>
</td>
<td class="nump">150<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=aehr_CostMember', window );">Cost [Member] | U S Treasury Securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermInvestments', window );">Short-term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,870<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=aehr_GrossUnrealizedLossMember', window );">Gross Unrealized Loss</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Cash', window );">Cash</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Total cash and cash equivalents</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsAndShortTermInvestments', window );">Total cash, cash equivalents and investments</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(17)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=aehr_GrossUnrealizedLossMember', window );">Gross Unrealized Loss | Money Market Funds</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash equivalents</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermInvestments', window );">Long-term investments</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=aehr_GrossUnrealizedLossMember', window );">Gross Unrealized Loss | U S Treasury Securities [Member]</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermInvestments', window );">Short-term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(17)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=aehr_EstimatedFairValueMember', window );">Estimated Fair Value [Member]</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Cash', window );">Cash</a></td>
<td class="nump">3,542<span></span>
</td>
<td class="nump">3,182<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Total cash and cash equivalents</a></td>
<td class="nump">47,581<span></span>
</td>
<td class="nump">30,054<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Total cash, cash equivalents and investments</a></td>
<td class="nump">47,731<span></span>
</td>
<td class="nump">48,057<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=aehr_EstimatedFairValueMember', window );">Estimated Fair Value [Member] | Money Market Funds</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash equivalents</a></td>
<td class="nump">44,039<span></span>
</td>
<td class="nump">26,872<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermInvestments', window );">Long-term investments</a></td>
<td class="nump">$ 150<span></span>
</td>
<td class="nump">150<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=aehr_EstimatedFairValueMember', window );">Estimated Fair Value [Member] | U S Treasury Securities [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermInvestments', window );">Short-term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17,853<span></span>
</td>
<td class="text">&#160;<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_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480555/946-210-45-21<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 210<br> -Topic 946<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480555/946-210-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</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_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsAndShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash includes currency on hand as well as demand deposits with banks or financial institutions. It also includes other kinds of accounts that have the general characteristics of demand deposits in that the customer may deposit additional funds at any time and effectively may withdraw funds at any time without prior notice or penalty. Cash equivalents, excluding items classified as marketable securities, include short-term, highly liquid Investments that are both readily convertible to known amounts of cash, and so near their maturity that they present minimal risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three years ago does not become a cash equivalent when its remaining maturity is three months. Short-term investments, exclusive of cash equivalents, generally consist of marketable securities intended to be sold within one year (or the normal operating cycle if longer) and may include trading securities, available-for-sale securities, or held-to-maturity securities (if maturing within one year), as applicable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsAndShortTermInvestments</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_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashEquivalentsAtCarryingValue</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_LongTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The total amount of investments that are intended to be held for an extended period of time (longer than one operating cycle).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermInvestments</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_ShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=aehr_CostMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=aehr_CostMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=aehr_MoneyMarketFundMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=aehr_MoneyMarketFundMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinancialInstrumentAxis=aehr_UnitedStateTreasurySecuritiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialInstrumentAxis=aehr_UnitedStateTreasurySecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=aehr_GrossUnrealizedLossMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=aehr_GrossUnrealizedLossMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=aehr_EstimatedFairValueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=aehr_EstimatedFairValueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820983694384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>FAIR VALUE OF FINANCIAL INSTRUMENTS (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Aug. 31, 2023</div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>May 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueDisclosuresAbstract', window );"><strong>FAIR VALUE OF FINANCIAL INSTRUMENTS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_aehr_FairValueAssetsLevelOneToLevelTwoTransfersAmount', window );">Transfer between Level 1 and Level 2 fair value measurements</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashNoncurrent', window );">Restricted cash</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 150,000<span></span>
</td>
<td class="nump">$ 150,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinancialLiabilitiesFairValueDisclosure', window );">Financial liabilities at fair value</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_aehr_FairValueAssetsLevelOneToLevelTwoTransfersAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">aehr_FairValueAssetsLevelOneToLevelTwoTransfersAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aehr_</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_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</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_FinancialLiabilitiesFairValueDisclosure">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fair value of financial obligations, including, but not limited to, debt instruments, derivative liabilities, federal funds purchased and sold under agreements to repurchase, securities loaned or sold under agreements to repurchase, financial instruments sold not yet purchased, guarantees, line of credit, loans and notes payable, servicing liability, and trading liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinancialLiabilitiesFairValueDisclosure</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_RestrictedCashNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -SubTopic 210<br> -Topic 954<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480632/954-210-45-5<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_RestrictedCashNoncurrent</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>45
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820984983216">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>BALANCE SHEET INFORMATION (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>May 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetRelatedDisclosuresAbstract', window );"><strong>BALANCE SHEET INFORMATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsNetOfReserves', window );">Raw materials and sub-assemblies</a></td>
<td class="nump">$ 24,770<span></span>
</td>
<td class="nump">$ 15,953<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcessNetOfReserves', window );">Work in process</a></td>
<td class="nump">11,080<span></span>
</td>
<td class="nump">5,764<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Finished goods</a></td>
<td class="nump">2,235<span></span>
</td>
<td class="nump">2,191<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">$ 38,085<span></span>
</td>
<td class="nump">$ 23,908<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_BalanceSheetRelatedDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetRelatedDisclosuresAbstract</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_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterialsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterialsNetOfReserves</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_InventoryWorkInProcessNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcessNetOfReserves</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>46
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820984964688">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>BALANCE SHEET INFORMATION (Details 1) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>May 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetRelatedDisclosuresAbstract', window );"><strong>BALANCE SHEET INFORMATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseholdImprovementsGross', window );">Leasehold improvements</a></td>
<td class="nump">$ 1,643<span></span>
</td>
<td class="nump">$ 1,310<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FurnitureAndFixturesGross', window );">Furniture and fixtures</a></td>
<td class="nump">717<span></span>
</td>
<td class="nump">706<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Machinery and equipment</a></td>
<td class="nump">5,775<span></span>
</td>
<td class="nump">5,445<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentOther', window );">Test equipment</a></td>
<td class="nump">3,030<span></span>
</td>
<td class="nump">2,998<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">11,165<span></span>
</td>
<td class="nump">10,459<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less: Accumulated depreciation and amortization</a></td>
<td class="num">(8,015)<span></span>
</td>
<td class="num">(7,700)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">$ 3,150<span></span>
</td>
<td class="nump">$ 2,759<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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</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_BalanceSheetRelatedDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetRelatedDisclosuresAbstract</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_FurnitureAndFixturesGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FurnitureAndFixturesGross</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_LeaseholdImprovementsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of additions or improvements to assets held under a lease arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseholdImprovementsGross</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_MachineryAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MachineryAndEquipmentGross</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_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of other physical assets used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_PropertyPlantAndEquipmentOther</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>47
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139821071746784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BALANCE SHEET INFORMATION (Details 2) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetRelatedDisclosuresAbstract', window );"><strong>BALANCE SHEET INFORMATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrual', window );">Balance at the beginning of the period</a></td>
<td class="nump">$ 221<span></span>
</td>
<td class="nump">$ 311<span></span>
</td>
<td class="nump">$ 267<span></span>
</td>
<td class="nump">$ 410<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualWarrantiesIssued', window );">Accruals for warranties issued during the period</a></td>
<td class="nump">117<span></span>
</td>
<td class="nump">84<span></span>
</td>
<td class="nump">344<span></span>
</td>
<td class="nump">207<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease', window );">Adjustments to previously existing warranty accruals</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">61<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualPayments', window );">Consumption of reserves</a></td>
<td class="num">(123)<span></span>
</td>
<td class="num">(107)<span></span>
</td>
<td class="num">(396)<span></span>
</td>
<td class="num">(390)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrual', window );">Balance at the End of the period</a></td>
<td class="nump">$ 215<span></span>
</td>
<td class="nump">$ 288<span></span>
</td>
<td class="nump">$ 215<span></span>
</td>
<td class="nump">$ 288<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_BalanceSheetRelatedDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetRelatedDisclosuresAbstract</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_ProductWarrantyAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.15(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrual</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_ProductWarrantyAccrualPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualPayments</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_ProductWarrantyAccrualPreexistingIncreaseDecrease">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in the standard and extended product warranty accrual from changes in estimates attributable to preexisting product warranties.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease</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_ProductWarrantyAccrualWarrantiesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in the standard and extended product warranty accrual from warranties issued.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrualWarrantiesIssued</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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820985101312">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>BALANCE SHEET INFORMATION (Details 3) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>May 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BalanceSheetRelatedDisclosuresAbstract', window );"><strong>BALANCE SHEET INFORMATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CustomerDepositsCurrent', window );">Customer deposits</a></td>
<td class="nump">$ 418<span></span>
</td>
<td class="nump">$ 2,690<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenueAndCreditsCurrent', window );">Deferred revenue</a></td>
<td class="nump">68<span></span>
</td>
<td class="nump">132<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredRevenue', window );">Deferred revenue, short-term</a></td>
<td class="nump">$ 486<span></span>
</td>
<td class="nump">$ 2,822<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_BalanceSheetRelatedDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BalanceSheetRelatedDisclosuresAbstract</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_CustomerDepositsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The current portion of money or property received from customers which is either to be returned upon satisfactory contract completion or applied to customer receivables in accordance with the terms of the contract or the understandings.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CustomerDepositsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenue</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_DeferredRevenueAndCreditsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total carrying amount of consideration received or receivable as of the balance sheet date on potential earnings that were not recognized as revenue or other forms of income in conformity with GAAP, and which are expected to be recognized as such within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredRevenueAndCreditsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820985127664">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>INCOME TAXES (Details Narrative) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>INCOME TAX</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes</a></td>
<td class="nump">$ 7<span></span>
</td>
<td class="nump">$ 17<span></span>
</td>
<td class="nump">$ 43<span></span>
</td>
<td class="nump">$ 49<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_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820978303776">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>BORROWING ARRANGEMENTS (Details Narrative)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th">
<div>Feb. 29, 2024 </div>
<div>USD ($)</div>
</th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=aehr_OriginalLoanAndSecurityAgreementMember', window );">Original Loan and Security Agreement</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of Credit, maximum borrowing</a></td>
<td class="nump">$ 4.0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateTerms', window );">Variable interest rate</a></td>
<td class="text">the greater of (a) the prime rate plus an additional percentage of up to 1%, which additional percentage depends on the Company&#8217;s adjusted quick ratio, and (b) 4.75%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=aehr_SecondAmendmentToLoanAndSecurityAgreementMember', window );">Second Amendment To Loan And Security Agreement</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Line of Credit, maximum borrowing</a></td>
<td class="nump">$ 10.0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateTerms', window );">Variable interest rate</a></td>
<td class="text">the greater of (a) prime rate plus an additional percentage up to 1.0%, which additional percentage depends on the Company&#8217;s adjusted quick ratio, and (b) 3.25%, reduces the interest rate for purchase order advances under the line to the greater of (a) prime rate plus an additional percentage up to 1.5%, which additional percentage depends on the Company&#8217;s adjusted quick ratio, and (b) 3.75%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityExpirationDate1', window );">Revolving line maturity date</a></td>
<td class="text">Jan. 13,  2023<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=aehr_FirstAmendmentToLoanAndSecurityAgreementMember', window );">First Amendment to Loan and Security Agreement</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityExpirationDate1', window );">Revolving line maturity date</a></td>
<td class="text">Jan. 13,  2022<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=aehr_ThirdAmendmentToLoanAndSecurityAgreementMember', window );">Third Amendment to Loan and Security Agreement</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityExpirationDate1', window );">Revolving line maturity date</a></td>
<td class="text">Jan. 13,  2025<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="Show.showAR( this, 'defref_aehr_RevolvingLineTerminationDate', window );">Revolving line termination date</a></td>
<td class="text">January 4, 2024<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_aehr_AmountOfMinimumNetLiquidityOfCreditFacility', window );">Minimum liquidity net</a></td>
<td class="nump">$ 20.0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_aehr_AmountOfMinimumNetLiquidityOfCreditFacility">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">aehr_AmountOfMinimumNetLiquidityOfCreditFacility</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aehr_</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_aehr_RevolvingLineTerminationDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">aehr_RevolvingLineTerminationDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aehr_</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_DebtInstrumentInterestRateTerms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of the interest rate as being fixed or variable, and, if variable, identification of the index or rate on which the interest rate is based and the number of points or percentage added to that index or rate to set the rate, and other pertinent information, such as frequency of rate resets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateTerms</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_LineOfCreditFacilityExpirationDate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Date the credit facility terminates, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityExpirationDate1</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: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_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</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_PlanNameAxis=aehr_OriginalLoanAndSecurityAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=aehr_OriginalLoanAndSecurityAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=aehr_SecondAmendmentToLoanAndSecurityAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=aehr_SecondAmendmentToLoanAndSecurityAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=aehr_FirstAmendmentToLoanAndSecurityAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=aehr_FirstAmendmentToLoanAndSecurityAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=aehr_ThirdAmendmentToLoanAndSecurityAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=aehr_ThirdAmendmentToLoanAndSecurityAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139821071392432">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SHAREHOLDERS EQUITY (Details Narrative) - USD ($)<br> $ / shares in Units, $ in Millions</strong></div></th>
<th class="th"><div>Feb. 08, 2023</div></th>
<th class="th"><div>Oct. 08, 2021</div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Aug. 25, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>SHAREHOLDERS EQUITY</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockPricePerShare', window );">Sale of common stock price per share</a></td>
<td class="nump">$ 34.78<span></span>
</td>
<td class="nump">$ 14.73<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction', window );">Sale of common stock shares</a></td>
<td class="nump">208,917<span></span>
</td>
<td class="nump">1,696,729<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromOtherEquity', window );">Gross proceeds</a></td>
<td class="nump">$ 7.3<span></span>
</td>
<td class="nump">$ 25.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SalesCommissionsAndFees', window );">Commission fees</a></td>
<td class="nump">0.2<span></span>
</td>
<td class="nump">0.7<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoninterestExpenseOfferingCost', window );">Offering expenses</a></td>
<td class="nump">$ 0.2<span></span>
</td>
<td class="nump">$ 0.3<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_aehr_OutstandingAmounTofATMOffering', window );">Remaining amount of the ATM offering</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17.7<span></span>
</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="Show.showAR( this, 'defref_aehr_ShelfRegistrationAmount', window );">Shelf registration amount</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="nump">$ 75.0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_aehr_OutstandingAmounTofATMOffering">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">aehr_OutstandingAmounTofATMOffering</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aehr_</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_aehr_ShelfRegistrationAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">aehr_ShelfRegistrationAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aehr_</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_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</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_NoninterestExpenseOfferingCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Includes offering costs of open-end investment companies, and closed-end funds with a continuous offering period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04.14)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoninterestExpenseOfferingCost</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_ProceedsFromOtherEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from the issuance of equity classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromOtherEquity</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_SaleOfStockNumberOfSharesIssuedInTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares issued or sold by the subsidiary or equity method investee per stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockPricePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockPricePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>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_SalesCommissionsAndFees">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Primarily represents commissions incurred in the period based upon the sale by commissioned employees or third parties of the entity's goods or services, and fees for sales assistance or product enhancements performed by third parties (such as a distributor or value added reseller).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SalesCommissionsAndFees</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>52
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139821071532800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>ACCUMULATED OTHER COMPREHENSIVE LOSS (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">9 Months Ended</th>
</tr>
<tr><th class="th">
<div>Feb. 29, 2024 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Balance at the beginning of the year</a></td>
<td class="num">$ (155)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax', window );">Other comprehensive loss before reclassifications</a></td>
<td class="nump">11<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Balance at the ending of the year</a></td>
<td class="num">(144)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLocationAxis=aehr_UnrealizedLossOnInvestmentsMember', window );">Unrealized Loss on Investments Net [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Balance at the beginning of the year</a></td>
<td class="num">(17)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax', window );">Other comprehensive loss before reclassifications</a></td>
<td class="nump">17<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Balance at the ending of the year</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=aehr_CumulativeTranslationAdjustmentsMember', window );">Cumulative Translation Adjustments [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Balance at the beginning of the year</a></td>
<td class="num">(138)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax', window );">Other comprehensive loss before reclassifications</a></td>
<td class="num">(6)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Balance at the ending of the year</a></td>
<td class="num">$ (144)<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_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</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_OtherComprehensiveIncomeLossBeforeReclassificationsTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of tax expense (benefit) allocated to other comprehensive income (loss) before reclassification adjustment from accumulated other comprehensive income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-12<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax</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_OtherComprehensiveIncomeLocationAxis=aehr_UnrealizedLossOnInvestmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLocationAxis=aehr_UnrealizedLossOnInvestmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=aehr_CumulativeTranslationAdjustmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=aehr_CumulativeTranslationAdjustmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820984581968">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUE (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 7,563<span></span>
</td>
<td class="nump">$ 17,206<span></span>
</td>
<td class="nump">$ 49,618<span></span>
</td>
<td class="nump">$ 42,692<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_EuropeMember', window );">Europe</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">756<span></span>
</td>
<td class="nump">14<span></span>
</td>
<td class="nump">3,193<span></span>
</td>
<td class="nump">58<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_AsiaMember', window );">Asia</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">5,167<span></span>
</td>
<td class="nump">14,849<span></span>
</td>
<td class="nump">43,320<span></span>
</td>
<td class="nump">34,873<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">US [Member]</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 1,640<span></span>
</td>
<td class="nump">$ 2,343<span></span>
</td>
<td class="nump">$ 3,105<span></span>
</td>
<td class="nump">$ 7,761<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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</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_srt_StatementGeographicalAxis=srt_EuropeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_EuropeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_AsiaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_AsiaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139821071095568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUE (Details 1) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 7,563<span></span>
</td>
<td class="nump">$ 17,206<span></span>
</td>
<td class="nump">$ 49,618<span></span>
</td>
<td class="nump">$ 42,692<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=aehr_SystemsMember', window );">Systems [Member]</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">1,971<span></span>
</td>
<td class="nump">9,821<span></span>
</td>
<td class="nump">20,750<span></span>
</td>
<td class="nump">26,315<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=aehr_ServicesMember', window );">Services [Member]</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">833<span></span>
</td>
<td class="nump">1,086<span></span>
</td>
<td class="nump">3,694<span></span>
</td>
<td class="nump">2,977<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=aehr_ContactorsMember', window );">Contactors [Member]</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 4,759<span></span>
</td>
<td class="nump">$ 6,299<span></span>
</td>
<td class="nump">$ 25,174<span></span>
</td>
<td class="nump">$ 13,400<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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</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_srt_ProductOrServiceAxis=aehr_SystemsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=aehr_SystemsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=aehr_ServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=aehr_ServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=aehr_ContactorsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=aehr_ContactorsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139821071812192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUE (Details 2) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 7,563<span></span>
</td>
<td class="nump">$ 17,206<span></span>
</td>
<td class="nump">$ 49,618<span></span>
</td>
<td class="nump">$ 42,692<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=aehr_ProductsAndServicesTransferredAtAPointInTimeMember', window );">Products And Services Transferred At A Point In Time [Member]</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">7,240<span></span>
</td>
<td class="nump">16,863<span></span>
</td>
<td class="nump">48,225<span></span>
</td>
<td class="nump">41,523<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=aehr_ServicesTransferredOverTimeMember', window );">Services Transferred over Time [Member]</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 323<span></span>
</td>
<td class="nump">$ 343<span></span>
</td>
<td class="nump">$ 1,393<span></span>
</td>
<td class="nump">$ 1,169<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_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</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_TimingOfTransferOfGoodOrServiceAxis=aehr_ProductsAndServicesTransferredAtAPointInTimeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TimingOfTransferOfGoodOrServiceAxis=aehr_ProductsAndServicesTransferredAtAPointInTimeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=aehr_ServicesTransferredOverTimeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TimingOfTransferOfGoodOrServiceAxis=aehr_ServicesTransferredOverTimeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820984158448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>REVENUE (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">9 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>May 30, 2025</div></th>
<th class="th"><div>May 30, 2024</div></th>
<th class="th"><div>May 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Contract liabilities</a></td>
<td class="nump">$ 486,000<span></span>
</td>
<td class="nump">$ 486,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,853,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNet', window );">Contract assets</a></td>
<td class="nump">345,000<span></span>
</td>
<td class="nump">345,000<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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Recognition of contract liabilities</a></td>
<td class="nump">31,000<span></span>
</td>
<td class="nump">2,802,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Remaining performance obligations</a></td>
<td class="nump">$ 68,000<span></span>
</td>
<td class="nump">$ 68,000<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="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementScenarioAxis=srt_ScenarioForecastMember', window );">Scenario Forecast [Member] | Subsequent Event</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationPercentage', window );">Remaining performance obligation revenue recognition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">69.80%<span></span>
</td>
<td class="nump">30.20%<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_ContractWithCustomerAssetNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNet</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_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiability</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_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</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_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</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_RevenueRemainingPerformanceObligationPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</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_srt_StatementScenarioAxis=srt_ScenarioForecastMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=srt_ScenarioForecastMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139821071232000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation</a></td>
<td class="nump">$ 583<span></span>
</td>
<td class="nump">$ 592<span></span>
</td>
<td class="nump">$ 1,743<span></span>
</td>
<td class="nump">$ 2,095<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of Sales</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation</a></td>
<td class="nump">58<span></span>
</td>
<td class="nump">75<span></span>
</td>
<td class="nump">222<span></span>
</td>
<td class="nump">252<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember', window );">Selling, General and Administrative</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation</a></td>
<td class="nump">377<span></span>
</td>
<td class="nump">359<span></span>
</td>
<td class="nump">1,081<span></span>
</td>
<td class="nump">1,330<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research and Development</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="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Total stock-based compensation</a></td>
<td class="nump">$ 148<span></span>
</td>
<td class="nump">$ 158<span></span>
</td>
<td class="nump">$ 440<span></span>
</td>
<td class="nump">$ 513<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_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</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_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139821077716512">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION (Details 1) - Nonvested RSU Activty - $ / shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="3">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Nov. 30, 2023</div></th>
<th class="th"><div>Aug. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Unvested May 31, 2023, beginning (in thousands)</a></td>
<td class="nump">390<span></span>
</td>
<td class="nump">216<span></span>
</td>
<td class="nump">345<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Shares, Granted (in thousands)</a></td>
<td class="nump">1<span></span>
</td>
<td class="nump">203<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Shares, Vested (in thousands)</a></td>
<td class="num">(32)<span></span>
</td>
<td class="num">(28)<span></span>
</td>
<td class="num">(77)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited', window );">Shares, Forfeited (in thousands)</a></td>
<td class="num">(6)<span></span>
</td>
<td class="num">(1)<span></span>
</td>
<td class="num">(52)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant', window );">Unvested February 29, 2024, ending (in thousands)</a></td>
<td class="nump">353<span></span>
</td>
<td class="nump">390<span></span>
</td>
<td class="nump">216<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value Per Share, beginning</a></td>
<td class="nump">$ 19.28<span></span>
</td>
<td class="nump">$ 6.27<span></span>
</td>
<td class="nump">$ 6.40<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted</a></td>
<td class="nump">22.57<span></span>
</td>
<td class="nump">31.51<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue', window );">Vested</a></td>
<td class="nump">12.42<span></span>
</td>
<td class="nump">8.02<span></span>
</td>
<td class="nump">7.16<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue', window );">Forfeited</a></td>
<td class="nump">6.21<span></span>
</td>
<td class="nump">29.79<span></span>
</td>
<td class="nump">5.79<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted Average Grant Date Fair Value Per Share, Ending</a></td>
<td class="nump">$ 20.16<span></span>
</td>
<td class="nump">$ 19.28<span></span>
</td>
<td class="nump">$ 6.27<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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</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>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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average grant-date fair value of non-vested options forfeited.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average grant-date fair value of options vested.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares related to Restricted Stock Award forfeited during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=aehr_NonvestedRSUActivtyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=aehr_NonvestedRSUActivtyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820984413040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>STOCK-BASED COMPENSATION (Details Narrative) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">9 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
<th class="th"><div>May 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>STOCK-BASED COMPENSATION</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Awards shares issued</a></td>
<td class="nump">1,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalizedCostsAssetRetirementCosts', window );">Stock-based compensation expense capitalized</a></td>
<td class="nump">$ 252,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 120,000<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="Show.showAR( this, 'defref_aehr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeStockPurchasePlanNumberOfSharesAvailableForGrant', window );">Employee stock purchase plan shares available for issuance</a></td>
<td class="nump">373,000<span></span>
</td>
<td class="nump">499,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Employee stock purchase plan shares issued</a></td>
<td class="nump">24,000<span></span>
</td>
<td class="nump">109,000<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_aehr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeStockPurchasePlanNumberOfSharesAvailableForGrant">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">aehr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeStockPurchasePlanNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>aehr_</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_us-gaap_CapitalizedCostsAssetRetirementCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of asset retirement costs previously incurred and capitalized separately from the capitalized amount of the associated long-lived assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 932<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482274/932-235-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedCostsAssetRetirementCosts</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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</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_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period as a result of an employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_StockIssuedDuringPeriodSharesRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139821071435920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>NET INCOME (LOSS) PER SHARE (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="3">9 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>Feb. 28, 2024</div></th>
<th class="th"><div>Feb. 28, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Net income (loss) per share:</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>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="num">$ (1,471)<span></span>
</td>
<td class="nump">$ 4,132<span></span>
</td>
<td class="nump">$ 9,292<span></span>
</td>
<td class="nump">$ 9,292<span></span>
</td>
<td class="nump">$ 8,446<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Denominator: Weighted average shares outstanding</a></td>
<td class="nump">28,866,000<span></span>
</td>
<td class="nump">27,893,000<span></span>
</td>
<td class="nump">28,773,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27,571,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment', window );">Dilutive effect of common equivalent shares outstanding</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,480,000<span></span>
</td>
<td class="nump">897,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,509,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Denominator: Diluted weighted average shares outstanding</a></td>
<td class="nump">28,866,000<span></span>
</td>
<td class="nump">29,373,000<span></span>
</td>
<td class="nump">29,670,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">29,080,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic net income (loss) per share</a></td>
<td class="num">$ (0.05)<span></span>
</td>
<td class="nump">$ 0.15<span></span>
</td>
<td class="nump">$ 0.32<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.31<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted net income (loss) per share</a></td>
<td class="num">$ (0.05)<span></span>
</td>
<td class="nump">$ 0.14<span></span>
</td>
<td class="nump">$ 0.31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 0.29<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive employee share-based award shares, excluded</a></td>
<td class="nump">1,203,000<span></span>
</td>
<td class="nump">15,000<span></span>
</td>
<td class="nump">71,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15,000<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_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</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_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period 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="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ 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_WeightedAverageNumberDilutedSharesOutstandingAdjustment</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.u1</span><table class="report" border="0" cellspacing="2" id="idm139820984677424">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>SEGMENT AND CONCENTRATION INFORMATION (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Feb. 29, 2024</div></th>
<th class="th"><div>May 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">$ 3,150<span></span>
</td>
<td class="nump">$ 2,759<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">US [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">3,015<span></span>
</td>
<td class="nump">2,713<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityNameAxis=aehr_InternationalMember', window );">International</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">$ 135<span></span>
</td>
<td class="nump">$ 46<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_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxAuthorityNameAxis=aehr_InternationalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxAuthorityNameAxis=aehr_InternationalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>62
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
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
MB_/V:\\ZM1RY]E28=8KEV0J(DBLT@E$#HRSI3"/1F\8P23<<7 :\:B+_3R0
M$R+E%R>(DF>G$8@B ^,)Z9PAP=H.-MVMHVY*-J\63]O>A69Q.MND.ZL$=C6B
MM9P?[6I&V4*C;)$IMGZ*.A=+]"YVL*L1U3H2WW=EMPK!/%^QJR";L*)R'4)L
MCC?4VSK#2O2&5=?;5,\(Z@1@ 94%A"#,]>29& BS_(&I&.FL*M%;56%7YIL9
M1W_=LM4S*_X&!6LI/MRU3+*%1MDB4VS]9'1&FN@7>W6?%(C155ZC;*%1ML@4
M6S\)G8$GARSU:CXL-/'[WM+UJ"5W?Q6%74SD=1@ 9CL!L>7NK\)HX.&!V0KI
M_#OQ?OCS M%. 3Y<>2;90J-LD2FV?C*ZV071FN3#/S(T/+T%D,#VY0I449Y'
MY#4# $6H(R^G1  ,!QX=,GR=<2=ZXSX5K9C,A.73OH"T'!^N0)-LH5&VR!1;
M_XMV-\>@UG>_@*AV>O+AC]HFV4*C;)$IMGX2NCD0/61U7/,"HNKZM$_ESP
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
M9DG[T^5Q>MXQB*6G;HLM5(FJ*P_B\A!(;H^XVR'!CWC;ZDZ5V1Z)MM1%B1-
MPTNR:FP6F)LM!]T=6:MC63JC6$Y_;@\<Z.^JFX_EO?H->2=)WO'_+N_]F'DI
MD1HYD>WD,:,FG3GS-EKFVNBX%17%$KG7EN0IWW+[)N]ARTDE0Z#8!=PY:";@
MZ7ZB8O.41KIYL@5L<HHMQUYK*VVAD:^>4$>I(E*- )X=TPX_%(>W%5,8\Y8+
M$)[&A3"X(Y^5CJ*0WF^Q'ZWT*D".#(W?TTH6@ZY7Q&72!Y)MZ'*_U<: +]="
M7R_8#)M<QXI8-=WR\3&6@YX;\H&.1)\*^SS8NHE0\I/41'R3II'=S#48^O(.
M$"TH-QK32G51(6B_#22*W6J%0\<&72-Y>-D*ZV+W/31(I'X7DQS^DG,7DCV#
M*V0*&@^Z (X"]Q-4G!3K!J8W][F)5H8]:G*#RTR(;'$H0XZX55;2XLZ"VTD\
M1)\1'^9?D(^(<##[6M<8=5_0N)110DB/!GN:SH4=0TB'8JGOAO*@3G[9]3Z0
M0D+J7[J$+ K76-!@D,;NB*:F[X)FO#"4L(VI7(5L4%->8[IP>]XT6G&T#GCW
M)GB&%E[GG F"I\EB=GIHA]*G^6GJ5QN;(J:V$[@KI%3N<SYMO8P1F,UHR-Q5
M8!IWR6J,]2L"U^.>/KQ<(S,!-T[_G/IU;7M[C)?&V_M-%H%^0F0:=L1)A("X
M04N3BMR3D3UD8P?SOD&0I34/OWX25QB&/<6]QG?H^C$=W0 K\IMTS^6CPFEV
ME\%A=;A*O^END'?FW3W\@_0;I+\PM(;K;/+R>29\=[?M7J*KTWTR=Q&WT_18
MXM\!\FR [VOGXNZ% PS_8*S^!5!+ P04    " "/@XI8/%A?U'T&   7$@
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
MJD$5<4BP4)4LAL-"8=7;0Z)K?/1%-PU&KXR*9S-A_-HG=3(X^Z!K5_&$QT;
M-J1CT.[I[A!YGLY.O\+3"?1&NA7Z%F.SQ-+I^..'3+ATJDLWP3;Q)+6T 2,B
M7E8X")/C +PO+7S0W7""W=%Z\2]02P,$%     @ CX.*6,08!>3% P  +PD
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
MKT;+!K2_,L:_33C OOM/_@)02P,$%     @ CX.*6,J^79A(!0  31   !D
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
M5RL[5UCGJ&$I>FW&DH2$;RM5]V[C;29?6#?\6W@]-N^96%.)H< 505V[U[%
MU*.H-A3?F/9?<D72S#:CZ8U"!]#YBG-U,'2"YG\0_ -02P,$%     @ CX.*
M6#I[<3J$ P  ] D  !D   !X;"]W;W)K<VAE971S+W-H965T,C(N>&ULO59M
M;^(X$/XKH]SJU$J4O#>T!TC E3TDVJM*Z7TV82!1DYBU'5CNUY_MO#3=0G;W
M3KH/X!G;\\PS+X[=/U#VRB-$ 5_3).,#(Q)B=VN:/(PP);Q+=YC)E0UE*1%2
M95N3[QB2M39*$].QK&LS)7%F#/MZ[I$-^S0729SA(P.>IREAQS$F]# P;*.:
M>(JWD5 3YK"_(UM<H%CN'IG4S!IE':>8\9AFP' S,$;V[=A7^_6&EQ@/O"&#
MBF1%Z:M29NN!82E"F& H% *1PQXGF"0*2-+X4F(:M4MEV)0K]*F.7<:R(APG
M-/DK7HMH8/0,6..&Y(EXHH<_L(Q'$PQIPO4_'(J]_K4!8<X%34MCR2"-LV(D
M7\L\- QZUAD#IS1P-._"D6;Y.Q%DV&?T $SMEFA*T*%J:TDNSE11%H+)U5C:
MB>%T-'N"E]%\>0=_3F$Z>Q@]3&:C.<P>%L]/R_N[A^<%7#R358+\LF\*Z5'9
MF6&)/B[0G3/H-W!/,Q%QN,O6N'YO;TJF-5VGHCMV6@&GN.J"<],!QW*\%CRW
M#M_5>.Z_#_]4U 6H=QI4G:-;OB,A#@QY4#BR/1K#7W^QKZW?6BA[-66O#7TX
M)3&#/4ERA-41HA@986%T/$6S%>@T31B3A&0A N% -W QRT!$-.<D6_-+D.EG
MN3R[=0E@CGM,P"Y'IQQ=57<\RD9EK_+#LLFE-7P"S^O8O9NF<*5_SU20I&6]
ME=,].8)K:SKNS]%Q@H[E.$VA<+?LPJ(+0G[C>"YCY1CF+!8Q<K"#3L]WJ^'J
M/?5>X#>% JNEX'Y=<+^UX!/"HPZ$\A_P2Q[+TF,F.,CH(<[VR$6J]57-] CB
MN,-3#='JZ$Q#?&:4\ZH$O*S!QT989C)?2?PWKN&.BUA^+Z7T3:DFE N8*SC=
MQ"^ZB55X,E5NQ_>J$A3RY)N(;\\VE>56O5(J155TRE2:/N1.;@PZ?L^NK IE
M3K/ME4"6-O-ZQJOM6Z6QDM[\_4"AM+_ ;3A7RLDTO^OM_YYAN_>6827_8(:=
M:]G2E66I?#_#KM6Q?*_R5RB+B#(!'U-\_L1]TH<M4,F^L .X+"?DZ?O_JM7K
M6('7(* F_.#DT38;-W&*;*O?&QQ"FF>BN)3KV?I),RIN\K?MQ7OHGK!MG'%(
M<"--K6X@#R\KWAB%(NA.W^LK*N0K08N1?)8A4QOD^H9242G*0?W0&_X#4$L#
M!!0    ( (^#BEC<.7S[7 0  +L*   9    >&PO=V]R:W-H965T<R]S:&5E
M=#(S+GAM;*U6;6_C-@S^*T0V#+W!O?C=3I<$2'LMKD#;*]K>[K-B,XEVMI23
MY*;9KQ\EIVG22XP-& S(DDP^)!]2M(8KJ;[K!:*!E[H2>M1;&+,\Z_=UL<":
MZ8]RB8*^S*2JF:&EFO?U4B$KG5)=]4/?3_LUXZ(W'KJ]>S4>RL947."] MW4
M-5/K<ZSD:M0+>J\;#WR^,':C/QXNV1P?T7Q=WBM:];<H):]1:"X%*)R->I/@
M[#RS\D[@3XXKO3,'&\E4RN]V<5V.>KYU""LLC$5@]'K&"ZPJ"T1N_-A@]K8F
MK>+N_!7]RL5.L4R9Q@M9?>.E68QZ>0]*G+&F,@]R]1DW\206KY"5=B.L6MF$
M+!:--K+>*-.ZYJ)]LY<-#SL*N7]$(=PHA,[OUI#S\A,S;#Q4<@7*2A.:G;A0
MG38YQX5-RJ-1])63GAF?3VXF=Q>7\/CY\O()KN^NOCS<3IZNO]S!R1.;5J@_
M#/N&[%CI?K'!/&\QPR.8 [B5PBPT7(H2RWW]/OFW=3)\=?(\[ 2\PNE'" <>
MA'X8=^!%VZ CAQ?]UZ /Q=I"Q8>A[)DYTTM6X*A'AT*C>L;>^+=?@M3_H\/1
M>.MHW(4^OA;/*(Q4'/4AUSJ5#[L&Q*5JZ/@Y/F_9&J+ @Y-K 68A&\U$J3\X
MFNT0P0-;4;495)Q5&N@KG=[I*=,:ZVE%7L&O$,9>EODT"1)OD$3PC4XA< %+
M)0O4&H+ \W,?$B]+8[CB@E.QEC"7LM00>F&4T!@, @*(<I),+&3D#?P<.@A,
MM@0FG03>*VI?RJR=Z_BCX4MJ*,8#@>80H9U@1PC]JG'65%#Q&?XK<D^(FS4R
MM<?S#5)G6<BJ!%X3<<]HW=3PNZ752^/(O:/ )]!B06ZI=Q%!!*>06)(S.\9Q
M D^HS8Y [ 0BSX]\(GPPR.&J48*;1J&#FO$7.Z><.,$LR"#S4YN]($T@\+TX
M&9";6I]1)RV:NJFH+$IJ@$1%P5G;8@F'U5(9_G>[<4(9#1*@H#,O\WV:4):]
M(+'E$GH9(7;D.-WF..W,\0UG4UYQ2C+]HVS9E4UA8,648L(<.3F=B$<2_;10
MB'NM#>Y(<7]GKP+>%KG7\>7HZ7N;G;.*B8(R94@288IS+@07<Y SMT%%SF5I
M60W=20KL&*89C3%5S:0HR!R=8,O0&S/ M6YL$AMEL7:  DI_'D,46_L93,J_
MZ%?4UJ21Q#$^<_*W6@.^<&VL\@9U;:NCM77JGC2 "RGHG[]T%4'^;AC5<!)0
M9%0; 5F@5S1(VY>MDW<!(U763Z$&KE?D^=Z\HZ"R;4%EG05UX7Z[J&QQ2\U-
MV_CH5X]*$5L4/(H&/= +*O53:H[UH1+KM/&_-.>?_;39=G1X*;'XZ9W'D.80
M1*&5RE,GE8?A0<+Z.Q<*,C!WUR8-A6R$:>\6V]WMS6S27DC>Q-MKW2U35*L:
M*IR1JO\QHQZKVJM2NS!RZ:XG4VDH&C==T.T2E16@[S,IS>O"&MC>5\?_ %!+
M P04    " "/@XI8R[L80L0"   9!@  &0   'AL+W=O<FMS:&5E=',O<VAE
M970R-"YX;6RE56UOVC 0_BNG;)JHU#40H&^#2,"H6JD,Q$OWV20'R>K8F>U
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
M4*@_& \=D&W';@TM:MLEUT)3S[5J3I\<2N- ZQLA]-XP&_3?YN(?4$L#!!0
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
MRQOP^UM"V%LA=U =04W^ U!+ P04    " "/@XI8@EA*-(P"  !;!@  &0
M 'AL+W=O<FMS:&5E=',O<VAE970S,"YX;6RM55UOFS 4_2L6FZ96V@*!M%TZ
M@D1)VR$M)$K:3=JT!P=N@E6PJ>TD[;^?;0A+JQ1ITE[ '_><>\XUOO@[QA]$
M#B#14UE0,;)R*:M+VQ9I#B46/58!53LKQDLLU92O;5%QP)D!E87M.LZY76)"
MK< W:S,>^&PC"T)AQI'8E"7FSU=0L-W(ZEO[A3E9YU(OV(%?X34L0-Y7,ZYF
M=LN2D1*H((PB#JN1%?8OHS,=;P*^$]B)@S'23I:,/>A)G(TL1PN" E*I&;!Z
M;2&"HM!$2L9CPVFU*37P<+QGOS'>E9<E%A"QX@?)9#ZR/ELH@Q7>%'+.=E^A
M\6,$IJP0YHEV=>S%T$+I1DA6-F"EH"2T?N.GI@X' ,5S'. V /<UP'L#X#4
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
MK=\27A](OBQ>@WW@4O*D^+A@=,ZR/$#]_LBY_'F0OUF[?5=[]#]02P,$%
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
MG"M=2>TPT]T4A 'H]07G:CLQ#IK^'/X&4$L#!!0    ( (^#BEA8@ABV[P,
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
M*WKX8B#H)F]29U3(EC>_7<MC#S %D,^7E(KG@0I0':3&?P%02P,$%     @
MCX.*6&L/6$X0 P  *PL  !D   !X;"]W;W)K<VAE971S+W-H965T-#0N>&UL
MK59=;YLP%/TK%JNF5MI*,(1\+$%*"M7ZT"IJVNYAVH,#-P$5[,QVDN[?SP;"
M$D*SKLM+L,TYY_K:)Y<[V##^+&( B5ZRE(JA$4NY[)NF"&/(B+AD2Z#JS9SQ
MC$@UY0M3+#F0*"=EJ8E;+=?,2$(-;Y"O3;@W8"N9)A0F'(E5EA'^:PPIVPP-
MR]@NW">+6.H%TQLLR0*F(!^7$ZYF9J42)1E0D3"*.,R'QLCJ!QV-SP%/"6S$
MSACI3&:,/>O)330T6GI#D$(HM0)1CS5<09IJ(;6-GZ6F4874Q-WQ5OTZSUWE
M,B,"KECZ+8ED/#2Z!HI@3E:IO&>;KU#FT]9Z(4M%_HLV!=;%!@I70K*L)*L=
M9 DMGN2E/(<=@M)I)N"2@.L$YQ6"71+LMT9P2H+SU@CMDI"G;A:YYP?G$TF\
M 6<;Q#5:J>E!?OHY6YU70K5/II*KMXGB2>\^> KN'@-T[H,D22H0OD"?T>/4
M1^=G%^@,)10]Q&PE"(W$P)0JHN:98:D^+M3Q*^HVNF54Q@(%-(*H@>\?Y_>.
M\$V5:94NWJ8[QD<%KV%VB7#O$\(M[#3LY^HM]&Y.MYO2^;_HP;NC[QV&7=V]
MG>LYK^C=J3(D2 J-%UM0W9RJB\W:Z[1=%76]>UJ'(*N#6^X^RC]$.3W7ZNZC
M@@84=GNX0NVEZ%0I.D=3G' 6K4(IT(A&: I\G80@T ,G5,R!<XC02*(1FK"$
M2G2CO*YJ(/I^"]D,^(^F8SD:3A?UOEB2$(:&JMI"Q0/#^_C!<EM?FLQV2C'_
ME&+!B<3V[JQ=W5G[_;8LJ.U=6V*G5;/E(<ARNW7S^H<HIXMQNV;+!I35QG:S
M+=TJ1?=HBHU.9&O@?S?@4>%_-> IQ?Q3B@4G$MN[G4YU.YWW&[!S4*9L7"^+
M#1BG[KY#C&7W:J"@ 62YO9KWS)VO?P9\D;== H5L167Q,:A6J\YNE#<TM?6Q
MU;^R&M9]U0D6C=L?^:*-O"5\D5"!4IBK4*W+COJ?\*(U*R:2+?/>8\:DZF3R
M8:RZ6> :H-[/&9/;B0Y0]<?>;U!+ P04    " "/@XI8_O[;[ET#   F#P
M&0   'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6RM5U%OFS 0_BL6FZ96V@*!
M0&F71&I#T/;0JFK4[F':@T,NB56P4]M)6FD_?K:A+%DH(RHO8)O[/M_=!X>O
MOV7\42P!)'K.4BH&UE+*U85MBV0)&18=M@*JGLP9S[!44[ZPQ8H#GAE0EMJN
MXP1VA@FUAGVS=LN'?;:6*:%PRY%89QGF+U>0LNW ZEJO"W=DL91ZP1[V5W@!
M$Y#WJUNN9G;),B,94$$811SF ^NR>Q&'VMX8/!#8BITQTI%,&7O4D^^S@>5H
MAR"%1&H&K&X;&$&::B+EQE/!:95;:N#N^)4]-K&K6*98P(BE/\A,+@=6:*$9
MS/$ZE7=L^PV*>'S-E[!4F"O:YK:^9Z%D+23+"K#R(",TO^/G(@\[ ,53#7 +
M@-L4X!4 [U_ 6R[U"D"O*< O 'Y30%   I/[/%DFTQ&6>-CG;(NXME9L>F#D
M,FB58$+UBS617#TE"B>'=^.'\<W]&)U$(#%)!;K!G&.M]BGZ@NXG$3KY>-JW
MI=I* ^RDH+W*:=TW:#UTS:A<"C2F,YA5X$?U^/,:O*U"+.-T7^.\<FL)8YAV
MD'O^&;F.VZORYWWPJ!Y^C5^0YQBT7X$>-T97[1TW0'<-VJM)I%>^,)ZAZ[U!
M-U*Z<%4/4$KPE*1$$A!5[T?.$A@67=TVPUX8.([3MS>[:6]F%M7ZI(OOA5CA
M! :6JJX"^ :LX:</W<#Y6I7M-LGBPP#<T/=V(]A+<Z],<Z]9FK$0("LSG!/X
M.SM[/?\PP\W,HEIWCLUPFV1Q2V1[,OBE#'ZM#'>0L 4EYB?(YBAI^/+[ASGO
M'BIS:.6&CGLH3:V+QTK3)EG<$MF>-$$I3? ?:?2YB= %6@$W)RR: &+3E"RP
MUJM2F.#@:PW"0V$:646U[ATK2YMD<4MD>[*<E;*<U<HR28!B3AA2!S](L)#H
MYS5D4^"_T&\T64\%/*V!2C3>J&N51+7T1V9BU"99U";9N$VRN"6R/<'#4O#P
M7=^A:C^4U&M0][*65NE>N\NQNK=)%N5DX4XY<#K!>;A?#L955I[C[EO%+3F6
M*V7OG/LSX O3H0GUEUI3F;< Y6K9!%Z:WL?^:YYWD->8+P@5*(6Y@CJ=,U7:
M>=Z5Y1/)5J:+F#*I>A(S7*I&%K@V4,_GC,G7B=Z@;(V'?P!02P,$%     @
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
MH6C.@$H#\7Y)"-]-I(.RW7-_ U!+ P04    " "/@XI8_@DP/QL$  #;$
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
M5[IWVF&F;S<0)D!_GW&N/B>F@=;W9?H/4$L#!!0    ( (^#BEBH27@I-0,
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
MTT]02P$"% ,4    " "/@XI8!T%-8H$   "Q    $               @ $
M    9&]C4')O<',O87!P+GAM;%!+ 0(4 Q0    ( (^#BEBP7$5"[@   "L"
M   1              "  :\   !D;V-0<F]P<R]C;W)E+GAM;%!+ 0(4 Q0
M   ( (^#BEB97)PC$ 8  )PG   3              "  <P!  !X;"]T:&5M
M92]T:&5M93$N>&UL4$L! A0#%     @ CX.*6#::KDJ[!0  KQX  !@
M         ("!#0@  'AL+W=O<FMS:&5E=',O<VAE970Q+GAM;%!+ 0(4 Q0
M   ( (^#BE@;O@T.V@4  %,8   8              " @?X-  !X;"]W;W)K
M<VAE971S+W-H965T,BYX;6Q02P$"% ,4    " "/@XI8%O-Y6M4"  #?"0
M&               @($.%   >&PO=V]R:W-H965T<R]S:&5E=#,N>&UL4$L!
M A0#%     @ CX.*6-N"SQ@5!P  ,"D  !@              ("!&1<  'AL
M+W=O<FMS:&5E=',O<VAE970T+GAM;%!+ 0(4 Q0    ( (^#BEC[TDJK?0,
M *8,   8              " @60>  !X;"]W;W)K<VAE971S+W-H965T-2YX
M;6Q02P$"% ,4    " "/@XI8XJHO\0$+   "6   &               @($7
M(@  >&PO=V]R:W-H965T<R]S:&5E=#8N>&UL4$L! A0#%     @ CX.*6#*E
MCDKI!@  X1P  !@              ("!3BT  'AL+W=O<FMS:&5E=',O<VAE
M970W+GAM;%!+ 0(4 Q0    ( (^#BEBF3H5CS00  $P,   8
M  " @6TT  !X;"]W;W)K<VAE971S+W-H965T."YX;6Q02P$"% ,4    " "/
M@XI8KZ(7N[,&  !X$@  &               @(%P.0  >&PO=V]R:W-H965T
M<R]S:&5E=#DN>&UL4$L! A0#%     @ CX.*6&I>%8CK!0  V@T  !D
M         ("!64   'AL+W=O<FMS:&5E=',O<VAE970Q,"YX;6Q02P$"% ,4
M    " "/@XI8[WSIE_<$  !L#   &0              @(%[1@  >&PO=V]R
M:W-H965T<R]S:&5E=#$Q+GAM;%!+ 0(4 Q0    ( (^#BE@\6%_4?08  !<2
M   9              " @:E+  !X;"]W;W)K<VAE971S+W-H965T,3(N>&UL
M4$L! A0#%     @ CX.*6.?]28W=!   9@L  !D              ("!75(
M 'AL+W=O<FMS:&5E=',O<VAE970Q,RYX;6Q02P$"% ,4    " "/@XI8Q!@%
MY,4#   O"0  &0              @(%Q5P  >&PO=V]R:W-H965T<R]S:&5E
M=#$T+GAM;%!+ 0(4 Q0    ( (^#BECUOHRLR@(  %P&   9
M  " @6U;  !X;"]W;W)K<VAE971S+W-H965T,34N>&UL4$L! A0#%     @
MCX.*6 ]JV&<\"@  T1L  !D              ("!;EX  'AL+W=O<FMS:&5E
M=',O<VAE970Q-BYX;6Q02P$"% ,4    " "/@XI8PBO0TOT&  #5$0  &0
M            @('A:   >&PO=V]R:W-H965T<R]S:&5E=#$W+GAM;%!+ 0(4
M Q0    ( (^#BEBP9\+$$ 0  !T*   9              " @15P  !X;"]W
M;W)K<VAE971S+W-H965T,3@N>&UL4$L! A0#%     @ CX.*6$N)336- P
M"0@  !D              ("!7'0  'AL+W=O<FMS:&5E=',O<VAE970Q.2YX
M;6Q02P$"% ,4    " "/@XI8RKY=F$@%  !-$   &0              @($@
M>   >&PO=V]R:W-H965T<R]S:&5E=#(P+GAM;%!+ 0(4 Q0    ( (^#BE@J
M[JS=G (  !L&   9              " @9]]  !X;"]W;W)K<VAE971S+W-H
M965T,C$N>&UL4$L! A0#%     @ CX.*6#I[<3J$ P  ] D  !D
M     ("!<H   'AL+W=O<FMS:&5E=',O<VAE970R,BYX;6Q02P$"% ,4
M" "/@XI8W#E\^UP$  "["@  &0              @($MA   >&PO=V]R:W-H
M965T<R]S:&5E=#(S+GAM;%!+ 0(4 Q0    ( (^#BEC+NQA"Q (  !D&   9
M              " @<"(  !X;"]W;W)K<VAE971S+W-H965T,C0N>&UL4$L!
M A0#%     @ CX.*6% P=84O P  [@<  !D              ("!NXL  'AL
M+W=O<FMS:&5E=',O<VAE970R-2YX;6Q02P$"% ,4    " "/@XI8<\K+)8L#
M   ="   &0              @($ACP  >&PO=V]R:W-H965T<R]S:&5E=#(V
M+GAM;%!+ 0(4 Q0    ( (^#BE@T6=Y?*P,  $('   9              "
M@>.2  !X;"]W;W)K<VAE971S+W-H965T,C<N>&UL4$L! A0#%     @ CX.*
M6.+'&D:  @  < 4  !D              ("!198  'AL+W=O<FMS:&5E=',O
M<VAE970R."YX;6Q02P$"% ,4    " "/@XI8*K8RP ,$  ".&@  &0
M        @('\F   >&PO=V]R:W-H965T<R]S:&5E=#(Y+GAM;%!+ 0(4 Q0
M   ( (^#BEB"6$HTC (  %L&   9              " @3:=  !X;"]W;W)K
M<VAE971S+W-H965T,S N>&UL4$L! A0#%     @ CX.*6'55 ;&P P  $A0
M !D              ("!^9\  'AL+W=O<FMS:&5E=',O<VAE970S,2YX;6Q0
M2P$"% ,4    " "/@XI8R HLF=T%  "W+0  &0              @('@HP
M>&PO=V]R:W-H965T<R]S:&5E=#,R+GAM;%!+ 0(4 Q0    ( (^#BEAJ-I+.
MU0(  -4(   9              " @?2I  !X;"]W;W)K<VAE971S+W-H965T
M,S,N>&UL4$L! A0#%     @ CX.*6,4:;#Z5 @  WP8  !D
M ("! *T  'AL+W=O<FMS:&5E=',O<VAE970S-"YX;6Q02P$"% ,4    " "/
M@XI89FIJ"P0#  #U"   &0              @(',KP  >&PO=V]R:W-H965T
M<R]S:&5E=#,U+GAM;%!+ 0(4 Q0    ( (^#BEB<YS)89P,  +,+   9
M          " @0>S  !X;"]W;W)K<VAE971S+W-H965T,S8N>&UL4$L! A0#
M%     @ CX.*6$&!5EEG @  /P8  !D              ("!I;8  'AL+W=O
M<FMS:&5E=',O<VAE970S-RYX;6Q02P$"% ,4    " "/@XI8*T>GJ(<"  "K
M!P  &0              @(%#N0  >&PO=V]R:W-H965T<R]S:&5E=#,X+GAM
M;%!+ 0(4 Q0    ( (^#BEA8@ABV[P,  .H-   9              " @0&\
M  !X;"]W;W)K<VAE971S+W-H965T,SDN>&UL4$L! A0#%     @ CX.*6!$N
M@L!Z P  ^@X  !D              ("!)\   'AL+W=O<FMS:&5E=',O<VAE
M970T,"YX;6Q02P$"% ,4    " "/@XI8X_Z?J2 #   1"@  &0
M    @('8PP  >&PO=V]R:W-H965T<R]S:&5E=#0Q+GAM;%!+ 0(4 Q0    (
M (^#BEC8<7,7* ,  "X-   9              " @2_'  !X;"]W;W)K<VAE
M971S+W-H965T-#(N>&UL4$L! A0#%     @ CX.*6-"L]A@U P  5 T  !D
M             ("!CLH  'AL+W=O<FMS:&5E=',O<VAE970T,RYX;6Q02P$"
M% ,4    " "/@XI8:P]83A #   K"P  &0              @('ZS0  >&PO
M=V]R:W-H965T<R]S:&5E=#0T+GAM;%!+ 0(4 Q0    ( (^#BEC^_MON70,
M "8/   9              " @4'1  !X;"]W;W)K<VAE971S+W-H965T-#4N
M>&UL4$L! A0#%     @ CX.*6"U<J,1: P  MPT  !D              ("!
MU=0  'AL+W=O<FMS:&5E=',O<VAE970T-BYX;6Q02P$"% ,4    " "/@XI8
M-_3^],\#   R#0  &0              @(%FV   >&PO=V]R:W-H965T<R]S
M:&5E=#0W+GAM;%!+ 0(4 Q0    ( (^#BEBQ-P V" ,  /H)   9
M      " @6S<  !X;"]W;W)K<VAE971S+W-H965T-#@N>&UL4$L! A0#%
M  @ CX.*6/X),#\;!   VQ   !D              ("!J]\  'AL+W=O<FMS
M:&5E=',O<VAE970T.2YX;6Q02P$"% ,4    " "/@XI8$M.SD(0"   [!P
M&0              @(']XP  >&PO=V]R:W-H965T<R]S:&5E=#4P+GAM;%!+
M 0(4 Q0    ( (^#BEBH27@I-0,  ,@3   -              "  ;CF  !X
M;"]S='EL97,N>&UL4$L! A0#%     @ CX.*6)>*NQS     $P(   L
M         ( !&.H  %]R96QS+RYR96QS4$L! A0#%     @ CX.*6(:9UV,O
M!   >R$   \              ( ! >L  'AL+W=O<FMB;V]K+GAM;%!+ 0(4
M Q0    ( (^#BE@X@V\FQ $   T>   :              "  5WO  !X;"]?
M<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+ 0(4 Q0    ( (^#BEB A/B=P $
M   >   3              "  5GQ  !;0V]N=&5N=%]4>7!E<UTN>&UL4$L%
3!@     Z #H S0\  $KS      $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<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>64
<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>66
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.1.u1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>187</ContextCount>
  <ElementCount>212</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>44</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>4</UnitCount>
  <MyReports>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000001 - Document - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/CondensedConsolidatedBalanceSheets</Role>
      <ShortName>CONDENSED CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/CondensedConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/CondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>000008 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/OrganizationAndSignificantAccountingPolicies</Role>
      <ShortName>ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>000009 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/FairValueOfFinancialInstruments</Role>
      <ShortName>FAIR VALUE OF FINANCIAL INSTRUMENTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>000010 - Disclosure - BALANCE SHEET INFORMATION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/BalanceSheetInformation</Role>
      <ShortName>BALANCE SHEET INFORMATION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>000011 - Disclosure - INCOME TAX</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/IncomeTax</Role>
      <ShortName>INCOME TAX</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>000012 - Disclosure - BORROWING ARRANGEMENTS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/BorrowingArrangements</Role>
      <ShortName>BORROWING ARRANGEMENTS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>000013 - Disclosure - COMMITMENTS AND CONTINGENCIES</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/CommitmentsAndContingencies</Role>
      <ShortName>COMMITMENTS AND CONTINGENCIES</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>000014 - Disclosure - SHAREHOLDERS EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/ShareholdersEquity</Role>
      <ShortName>SHAREHOLDERS EQUITY</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>000015 - Disclosure - ACCUMULATED OTHER COMPREHENSIVE LOSS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/AccumulatedOtherComprehensiveLoss</Role>
      <ShortName>ACCUMULATED OTHER COMPREHENSIVE LOSS</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>000016 - Disclosure - REVENUE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/REVENUE</Role>
      <ShortName>REVENUE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>000017 - Disclosure - STOCK-BASED COMPENSATION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/StockBasedCompensation</Role>
      <ShortName>STOCK-BASED COMPENSATION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>000018 - Disclosure - NET INCOME (LOSS) PER SHARE</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/NetIncomeLossPerShare</Role>
      <ShortName>NET INCOME (LOSS) PER SHARE</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>000019 - Disclosure - SEGMENT AND CONCENTRATION INFORMATION</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/SegmentAndConcentrationInformation</Role>
      <ShortName>SEGMENT AND CONCENTRATION INFORMATION</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>000020 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesPolicies</Role>
      <ShortName>ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>000021 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesTables</Role>
      <ShortName>ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://aehr.com/role/OrganizationAndSignificantAccountingPolicies</ParentRole>
      <Position>21</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>000022 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/FairValueOfFinancialInstrumentsTables</Role>
      <ShortName>FAIR VALUE OF FINANCIAL INSTRUMENTS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://aehr.com/role/FairValueOfFinancialInstruments</ParentRole>
      <Position>22</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>000023 - Disclosure - BALANCE SHEET INFORMATION (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/BalanceSheetInformationTables</Role>
      <ShortName>BALANCE SHEET INFORMATION (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://aehr.com/role/BalanceSheetInformation</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>000024 - Disclosure - ACCUMULATED OTHER COMPREHENSIVE LOSS (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/AccumulatedOtherComprehensiveLossTables</Role>
      <ShortName>ACCUMULATED OTHER COMPREHENSIVE LOSS (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://aehr.com/role/AccumulatedOtherComprehensiveLoss</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>000025 - Disclosure - REVENUE (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/RevenueTables</Role>
      <ShortName>REVENUE (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://aehr.com/role/REVENUE</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>000026 - Disclosure - STOCKBASED COMPENSATION (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/StockbasedCompensationTables</Role>
      <ShortName>STOCKBASED COMPENSATION (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>000027 - Disclosure - NET INCOME (LOSS) PER SHARE (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/NetIncomeLossPerShareTables</Role>
      <ShortName>NET INCOME (LOSS) PER SHARE (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://aehr.com/role/NetIncomeLossPerShare</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>000028 - Disclosure - SEGMENT AND CONCENTRATION INFORMATION (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/SegmentAndConcentrationInformationTables</Role>
      <ShortName>SEGMENT AND CONCENTRATION INFORMATION (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://aehr.com/role/SegmentAndConcentrationInformation</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>000029 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetails</Role>
      <ShortName>ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesTables</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>000030 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative</Role>
      <ShortName>ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesTables</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>000031 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/FairValueOfFinancialInstrumentsDetails</Role>
      <ShortName>FAIR VALUE OF FINANCIAL INSTRUMENTS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://aehr.com/role/FairValueOfFinancialInstrumentsTables</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>000032 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1</Role>
      <ShortName>FAIR VALUE OF FINANCIAL INSTRUMENTS (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://aehr.com/role/FairValueOfFinancialInstrumentsTables</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>000033 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/FairValueOfFinancialInstrumentsDetailsNarrative</Role>
      <ShortName>FAIR VALUE OF FINANCIAL INSTRUMENTS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://aehr.com/role/FairValueOfFinancialInstrumentsTables</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>000034 - Disclosure - BALANCE SHEET INFORMATION (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/BalanceSheetInformationDetails</Role>
      <ShortName>BALANCE SHEET INFORMATION (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://aehr.com/role/BalanceSheetInformationTables</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>000035 - Disclosure - BALANCE SHEET INFORMATION (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/BalanceSheetInformationDetails1</Role>
      <ShortName>BALANCE SHEET INFORMATION (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://aehr.com/role/BalanceSheetInformationTables</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>000036 - Disclosure - BALANCE SHEET INFORMATION (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/BalanceSheetInformationDetails2</Role>
      <ShortName>BALANCE SHEET INFORMATION (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://aehr.com/role/BalanceSheetInformationTables</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>000037 - Disclosure - BALANCE SHEET INFORMATION (Details 3)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/BalanceSheetInformationDetails3</Role>
      <ShortName>BALANCE SHEET INFORMATION (Details 3)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://aehr.com/role/BalanceSheetInformationTables</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>000038 - Disclosure - INCOME TAXES (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/IncomeTaxesDetailsNarrative</Role>
      <ShortName>INCOME TAXES (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://aehr.com/role/IncomeTax</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>000039 - Disclosure - BORROWING ARRANGEMENTS (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/BorrowingArrangementsDetailsNarrative</Role>
      <ShortName>BORROWING ARRANGEMENTS (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://aehr.com/role/BorrowingArrangements</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>000040 - Disclosure - SHAREHOLDERS EQUITY (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/ShareholdersEquityDetailsNarrative</Role>
      <ShortName>SHAREHOLDERS EQUITY (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://aehr.com/role/ShareholdersEquity</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>000041 - Disclosure - ACCUMULATED OTHER COMPREHENSIVE LOSS (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/AccumulatedOtherComprehensiveLossDetails</Role>
      <ShortName>ACCUMULATED OTHER COMPREHENSIVE LOSS (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://aehr.com/role/AccumulatedOtherComprehensiveLossTables</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>000042 - Disclosure - REVENUE (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/RevenueDetails</Role>
      <ShortName>REVENUE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://aehr.com/role/RevenueTables</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>000043 - Disclosure - REVENUE (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/RevenueDetails1</Role>
      <ShortName>REVENUE (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://aehr.com/role/RevenueTables</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>000044 - Disclosure - REVENUE (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/RevenueDetails2</Role>
      <ShortName>REVENUE (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://aehr.com/role/RevenueTables</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>000045 - Disclosure - REVENUE (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/RevenueDetailsNarrative</Role>
      <ShortName>REVENUE (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://aehr.com/role/RevenueTables</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>000046 - Disclosure - STOCK-BASED COMPENSATION (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/StockBasedCompensationDetails</Role>
      <ShortName>STOCK-BASED COMPENSATION (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://aehr.com/role/StockBasedCompensation</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>000047 - Disclosure - STOCK-BASED COMPENSATION (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/StockBasedCompensationDetails1</Role>
      <ShortName>STOCK-BASED COMPENSATION (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://aehr.com/role/StockBasedCompensation</ParentRole>
      <Position>47</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>000048 - Disclosure - STOCK-BASED COMPENSATION (Details Narrative)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/StockBasedCompensationDetailsNarrative</Role>
      <ShortName>STOCK-BASED COMPENSATION (Details Narrative)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://aehr.com/role/StockBasedCompensation</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>000049 - Disclosure - NET INCOME (LOSS) PER SHARE (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/NetIncomeLossPerShareDetails</Role>
      <ShortName>NET INCOME (LOSS) PER SHARE (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://aehr.com/role/NetIncomeLossPerShareTables</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="aehr_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>000050 - Disclosure - SEGMENT AND CONCENTRATION INFORMATION (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://aehr.com/role/SegmentAndConcentrationInformationDetails</Role>
      <ShortName>SEGMENT AND CONCENTRATION INFORMATION (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://aehr.com/role/SegmentAndConcentrationInformationTables</ParentRole>
      <Position>50</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Warning">[dq-0540-CurrentFiscalYearEndDate-Registrant-Value] In submission type 10-Q, CurrentFiscalYearEndDate value, --05-31, should match the Entity Registrant Fiscal Year End Date "12/31" on record within EDGAR. aehr_10q.htm 1</Log>
    <Log type="Warning">[ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 16 fact(s) appearing in ix:hidden were eligible for transformation: aehr:FairValueAssetsLevelOneToLevelTwoTransfersAmount, us-gaap:CommonStockParOrStatedValuePerShare, us-gaap:CommonStockSharesAuthorized, us-gaap:CommonStockSharesOutstanding, us-gaap:FinancialLiabilitiesFairValueDisclosure, us-gaap:PreferredStockNoParValue, us-gaap:PreferredStockSharesAuthorized, us-gaap:PreferredStockSharesIssued, us-gaap:PreferredStockSharesOutstanding, us-gaap:RestrictedCashNoncurrent, us-gaap:SecuritiesBorrowedAllowanceForCreditLoss, us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment -  aehr_10q.htm 1</Log>
    <Log type="Warning">[dqc-0015-Negative-Values] Fact us-gaap:ShortTermInvestments has a value of -17000 which is less than zero. This element should not have a negative value. The preparer should consider if the value is input correctly for this assertion and, after considering the appropriateness of the input, if incorrect, input the amount as a positive (i.e., absolute) value and provide a negated label. The properties of this us-gaap:ShortTermInvestments fact are: Context: AsOf2023-05-31_aehr_GrossUnrealizedLossMember_aehr_UnitedStateTreasurySecuritiesMember, Unit: USD, Rule Element Id: 5970. aehr_10q.htm 1</Log>
  </Logs>
  <InputFiles>
    <File>aehr-20240229.xsd</File>
    <File>aehr-20240229_cal.xml</File>
    <File>aehr-20240229_def.xml</File>
    <File>aehr-20240229_lab.xml</File>
    <File>aehr-20240229_pre.xml</File>
    <File doctype="10-Q" isDefinitelyFs="true" isUsgaap="true" original="aehr_10q.htm">aehr_10q.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="695">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="29">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>69
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "aehr_10q.htm": {
   "nsprefix": "aehr",
   "nsuri": "http://aehr.com/20240229",
   "dts": {
    "schema": {
     "local": [
      "aehr-20240229.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd",
      "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/currency/2023/currency-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd",
      "https://xbrl.sec.gov/exch/2023/exch-2023.xsd",
      "https://xbrl.sec.gov/naics/2023/naics-2023.xsd",
      "https://xbrl.sec.gov/sic/2023/sic-2023.xsd",
      "https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "aehr-20240229_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "aehr-20240229_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "aehr-20240229_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "aehr-20240229_pre.xml"
     ]
    },
    "inline": {
     "local": [
      "aehr_10q.htm"
     ]
    }
   },
   "keyStandard": 200,
   "keyCustom": 12,
   "axisStandard": 16,
   "axisCustom": 0,
   "memberStandard": 19,
   "memberCustom": 25,
   "hidden": {
    "total": 21,
    "http://xbrl.sec.gov/dei/2023": 5,
    "http://fasb.org/us-gaap/2023": 15,
    "http://aehr.com/20240229": 1
   },
   "contextCount": 187,
   "entityCount": 1,
   "segmentCount": 44,
   "elementCount": 324,
   "unitCount": 4,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 695,
    "http://xbrl.sec.gov/dei/2023": 29
   },
   "report": {
    "R1": {
     "role": "http://aehr.com/role/Cover",
     "longName": "000001 - Document - Cover",
     "shortName": "Cover",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "strong",
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "strong",
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://aehr.com/role/CondensedConsolidatedBalanceSheets",
     "longName": "000002 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:AccountsReceivableNet",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "unique": true
     }
    },
    "R3": {
     "role": "http://aehr.com/role/CondensedConsolidatedBalanceSheetsParenthetical",
     "longName": "000003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:PreferredStockNoParValue",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:PreferredStockNoParValue",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited",
     "longName": "000004 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited)",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "From2023-12-01to2024-02-29",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-12-01to2024-02-29",
      "name": "us-gaap:CostOfRevenue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://aehr.com/role/CondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited",
     "longName": "000005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Unaudited)",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "From2023-12-01to2024-02-29",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-12-01to2024-02-29",
      "name": "us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited",
     "longName": "000006 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited)",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "AsOf2022-05-31_us-gaap_CommonStockMember",
      "name": "us-gaap:SharesIssued",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2022-05-31_us-gaap_CommonStockMember",
      "name": "us-gaap:SharesIssued",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R7": {
     "role": "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited",
     "longName": "000007 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "7",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R8": {
     "role": "http://aehr.com/role/OrganizationAndSignificantAccountingPolicies",
     "longName": "000008 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES",
     "shortName": "ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:BusinessDescriptionAndAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:BusinessDescriptionAndAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://aehr.com/role/FairValueOfFinancialInstruments",
     "longName": "000009 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS",
     "shortName": "FAIR VALUE OF FINANCIAL INSTRUMENTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:FairValueDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://aehr.com/role/BalanceSheetInformation",
     "longName": "000010 - Disclosure - BALANCE SHEET INFORMATION",
     "shortName": "BALANCE SHEET INFORMATION",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://aehr.com/role/IncomeTax",
     "longName": "000011 - Disclosure - INCOME TAX",
     "shortName": "INCOME TAX",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://aehr.com/role/BorrowingArrangements",
     "longName": "000012 - Disclosure - BORROWING ARRANGEMENTS",
     "shortName": "BORROWING ARRANGEMENTS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://aehr.com/role/CommitmentsAndContingencies",
     "longName": "000013 - Disclosure - COMMITMENTS AND CONTINGENCIES",
     "shortName": "COMMITMENTS AND CONTINGENCIES",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://aehr.com/role/ShareholdersEquity",
     "longName": "000014 - Disclosure - SHAREHOLDERS EQUITY",
     "shortName": "SHAREHOLDERS EQUITY",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://aehr.com/role/AccumulatedOtherComprehensiveLoss",
     "longName": "000015 - Disclosure - ACCUMULATED OTHER COMPREHENSIVE LOSS",
     "shortName": "ACCUMULATED OTHER COMPREHENSIVE LOSS",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:ComprehensiveIncomeNoteTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:ComprehensiveIncomeNoteTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://aehr.com/role/REVENUE",
     "longName": "000016 - Disclosure - REVENUE",
     "shortName": "REVENUE",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://aehr.com/role/StockBasedCompensation",
     "longName": "000017 - Disclosure - STOCK-BASED COMPENSATION",
     "shortName": "STOCK-BASED COMPENSATION",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://aehr.com/role/NetIncomeLossPerShare",
     "longName": "000018 - Disclosure - NET INCOME (LOSS) PER SHARE",
     "shortName": "NET INCOME (LOSS) PER SHARE",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://aehr.com/role/SegmentAndConcentrationInformation",
     "longName": "000019 - Disclosure - SEGMENT AND CONCENTRATION INFORMATION",
     "shortName": "SEGMENT AND CONCENTRATION INFORMATION",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesPolicies",
     "longName": "000020 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Policies)",
     "shortName": "ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "20",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:BusinessDescriptionAndAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:BusinessDescriptionAndAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesTables",
     "longName": "000021 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Tables)",
     "shortName": "ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "21",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "aehr:ScheduleOfFinancialInstrumentsTextblock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:ConcentrationRiskCreditRisk",
       "us-gaap:BusinessDescriptionAndAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "aehr:ScheduleOfFinancialInstrumentsTextblock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:ConcentrationRiskCreditRisk",
       "us-gaap:BusinessDescriptionAndAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://aehr.com/role/FairValueOfFinancialInstrumentsTables",
     "longName": "000022 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (Tables)",
     "shortName": "FAIR VALUE OF FINANCIAL INSTRUMENTS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "22",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://aehr.com/role/BalanceSheetInformationTables",
     "longName": "000023 - Disclosure - BALANCE SHEET INFORMATION (Tables)",
     "shortName": "BALANCE SHEET INFORMATION (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "23",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://aehr.com/role/AccumulatedOtherComprehensiveLossTables",
     "longName": "000024 - Disclosure - ACCUMULATED OTHER COMPREHENSIVE LOSS (Tables)",
     "shortName": "ACCUMULATED OTHER COMPREHENSIVE LOSS (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "24",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:ComprehensiveIncomeNoteTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:ComprehensiveIncomeNoteTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://aehr.com/role/RevenueTables",
     "longName": "000025 - Disclosure - REVENUE (Tables)",
     "shortName": "REVENUE (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "25",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://aehr.com/role/StockbasedCompensationTables",
     "longName": "000026 - Disclosure - STOCKBASED COMPENSATION (Tables)",
     "shortName": "STOCKBASED COMPENSATION (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "26",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://aehr.com/role/NetIncomeLossPerShareTables",
     "longName": "000027 - Disclosure - NET INCOME (LOSS) PER SHARE (Tables)",
     "shortName": "NET INCOME (LOSS) PER SHARE (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "27",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://aehr.com/role/SegmentAndConcentrationInformationTables",
     "longName": "000028 - Disclosure - SEGMENT AND CONCENTRATION INFORMATION (Tables)",
     "shortName": "SEGMENT AND CONCENTRATION INFORMATION (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "28",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetails",
     "longName": "000029 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Details)",
     "shortName": "ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "29",
     "firstAnchor": {
      "contextRef": "From2023-12-01to2024-02-29_aehr_RevenuesMember_aehr_CustomerBMember",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "aehr:ScheduleOfFinancialInstrumentsTextblock",
       "us-gaap:ConcentrationRiskCreditRisk",
       "us-gaap:BusinessDescriptionAndAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-12-01to2024-02-29_aehr_RevenuesMember_aehr_CustomerBMember",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "aehr:ScheduleOfFinancialInstrumentsTextblock",
       "us-gaap:ConcentrationRiskCreditRisk",
       "us-gaap:BusinessDescriptionAndAccountingPoliciesTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative",
     "longName": "000030 - Disclosure - ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)",
     "shortName": "ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "30",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:SecuritiesBorrowedAllowanceForCreditLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:SecuritiesBorrowedAllowanceForCreditLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails",
     "longName": "000031 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (Details)",
     "shortName": "FAIR VALUE OF FINANCIAL INSTRUMENTS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "31",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29_us-gaap_AssetsMember",
      "name": "us-gaap:InvestmentsFairValueDisclosure",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-02-29_us-gaap_AssetsMember",
      "name": "us-gaap:InvestmentsFairValueDisclosure",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1",
     "longName": "000032 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (Details 1)",
     "shortName": "FAIR VALUE OF FINANCIAL INSTRUMENTS (Details 1)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "32",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-02-29_aehr_CostMember",
      "name": "us-gaap:Cash",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "unique": true
     }
    },
    "R33": {
     "role": "http://aehr.com/role/FairValueOfFinancialInstrumentsDetailsNarrative",
     "longName": "000033 - Disclosure - FAIR VALUE OF FINANCIAL INSTRUMENTS (Details Narrative)",
     "shortName": "FAIR VALUE OF FINANCIAL INSTRUMENTS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "33",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:RestrictedCashNoncurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:RestrictedCashNoncurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://aehr.com/role/BalanceSheetInformationDetails",
     "longName": "000034 - Disclosure - BALANCE SHEET INFORMATION (Details)",
     "shortName": "BALANCE SHEET INFORMATION (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "34",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:InventoryRawMaterialsNetOfReserves",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://aehr.com/role/BalanceSheetInformationDetails1",
     "longName": "000035 - Disclosure - BALANCE SHEET INFORMATION (Details 1)",
     "shortName": "BALANCE SHEET INFORMATION (Details 1)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "35",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:LeaseholdImprovementsGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:LeaseholdImprovementsGross",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://aehr.com/role/BalanceSheetInformationDetails2",
     "longName": "000036 - Disclosure - BALANCE SHEET INFORMATION (Details 2)",
     "shortName": "BALANCE SHEET INFORMATION (Details 2)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "36",
     "firstAnchor": {
      "contextRef": "AsOf2023-11-30",
      "name": "us-gaap:ProductWarrantyAccrual",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-11-30",
      "name": "us-gaap:ProductWarrantyAccrual",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://aehr.com/role/BalanceSheetInformationDetails3",
     "longName": "000037 - Disclosure - BALANCE SHEET INFORMATION (Details 3)",
     "shortName": "BALANCE SHEET INFORMATION (Details 3)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "37",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:CustomerDepositsCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:DeferredRevenueByArrangementDisclosureTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:CustomerDepositsCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:DeferredRevenueByArrangementDisclosureTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://aehr.com/role/IncomeTaxesDetailsNarrative",
     "longName": "000038 - Disclosure - INCOME TAXES (Details Narrative)",
     "shortName": "INCOME TAXES (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "38",
     "firstAnchor": {
      "contextRef": "From2023-12-01to2024-02-29",
      "name": "us-gaap:IncomeTaxExpenseBenefit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R39": {
     "role": "http://aehr.com/role/BorrowingArrangementsDetailsNarrative",
     "longName": "000039 - Disclosure - BORROWING ARRANGEMENTS (Details Narrative)",
     "shortName": "BORROWING ARRANGEMENTS (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29_aehr_OriginalLoanAndSecurityAgreementMember",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-02-29_aehr_OriginalLoanAndSecurityAgreementMember",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "p",
       "us-gaap:DebtDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://aehr.com/role/ShareholdersEquityDetailsNarrative",
     "longName": "000040 - Disclosure - SHAREHOLDERS EQUITY (Details Narrative)",
     "shortName": "SHAREHOLDERS EQUITY (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "AsOf2023-02-08",
      "name": "us-gaap:SaleOfStockPricePerShare",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-02-08",
      "name": "us-gaap:SaleOfStockPricePerShare",
      "unitRef": "USDPShares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://aehr.com/role/AccumulatedOtherComprehensiveLossDetails",
     "longName": "000041 - Disclosure - ACCUMULATED OTHER COMPREHENSIVE LOSS (Details)",
     "shortName": "ACCUMULATED OTHER COMPREHENSIVE LOSS (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "AsOf2023-05-31",
      "name": "us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
       "us-gaap:ComprehensiveIncomeNoteTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "unique": true
     }
    },
    "R42": {
     "role": "http://aehr.com/role/RevenueDetails",
     "longName": "000042 - Disclosure - REVENUE (Details)",
     "shortName": "REVENUE (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "From2023-12-01to2024-02-29",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-12-01to2024-02-29_srt_EuropeMember",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "unique": true
     }
    },
    "R43": {
     "role": "http://aehr.com/role/RevenueDetails1",
     "longName": "000043 - Disclosure - REVENUE (Details 1)",
     "shortName": "REVENUE (Details 1)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "From2023-12-01to2024-02-29",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-12-01to2024-02-29_aehr_SystemsMember",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "ix:continuation",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "unique": true
     }
    },
    "R44": {
     "role": "http://aehr.com/role/RevenueDetails2",
     "longName": "000044 - Disclosure - REVENUE (Details 2)",
     "shortName": "REVENUE (Details 2)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "From2023-12-01to2024-02-29",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-12-01to2024-02-29_aehr_ProductsAndServicesTransferredAtAPointInTimeMember",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "unique": true
     }
    },
    "R45": {
     "role": "http://aehr.com/role/RevenueDetailsNarrative",
     "longName": "000045 - Disclosure - REVENUE (Details Narrative)",
     "shortName": "REVENUE (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:ContractWithCustomerLiability",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-05-31",
      "name": "us-gaap:ContractWithCustomerLiability",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "unique": true
     }
    },
    "R46": {
     "role": "http://aehr.com/role/StockBasedCompensationDetails",
     "longName": "000046 - Disclosure - STOCK-BASED COMPENSATION (Details)",
     "shortName": "STOCK-BASED COMPENSATION (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "From2023-12-01to2024-02-29",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-12-01to2024-02-29",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://aehr.com/role/StockBasedCompensationDetails1",
     "longName": "000047 - Disclosure - STOCK-BASED COMPENSATION (Details 1)",
     "shortName": "STOCK-BASED COMPENSATION (Details 1)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "AsOf2023-11-30_aehr_NonvestedRSUActivtyMember",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2023-05-31_aehr_NonvestedRSUActivtyMember",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "unique": true
     }
    },
    "R48": {
     "role": "http://aehr.com/role/StockBasedCompensationDetailsNarrative",
     "longName": "000048 - Disclosure - STOCK-BASED COMPENSATION (Details Narrative)",
     "shortName": "STOCK-BASED COMPENSATION (Details Narrative)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-06-01to2024-02-29",
      "name": "us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://aehr.com/role/NetIncomeLossPerShareDetails",
     "longName": "000049 - Disclosure - NET INCOME (LOSS) PER SHARE (Details)",
     "shortName": "NET INCOME (LOSS) PER SHARE (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "From2023-12-01to2024-02-29",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "From2023-12-01to2024-02-29",
      "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "unique": true
     }
    },
    "R50": {
     "role": "http://aehr.com/role/SegmentAndConcentrationInformationDetails",
     "longName": "000050 - Disclosure - SEGMENT AND CONCENTRATION INFORMATION (Details)",
     "shortName": "SEGMENT AND CONCENTRATION INFORMATION (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "AsOf2024-02-29",
      "name": "us-gaap:PropertyPlantAndEquipmentNet",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "AsOf2024-02-29_country_US",
      "name": "us-gaap:PropertyPlantAndEquipmentNet",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "td",
       "tr",
       "tbody",
       "table",
       "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "aehr_10q.htm",
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts payable",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r574"
     ]
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r539"
     ]
    },
    "us-gaap_AccountsReceivableNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNet",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable, net",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business."
       }
      }
     },
     "auth_ref": [
      "r496",
      "r538",
      "r579",
      "r671"
     ]
    },
    "us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccretionAmortizationOfDiscountsAndPremiumsInvestments",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accretion of investment discount",
        "documentation": "The sum of the periodic adjustments of the differences between securities' face values and purchase prices that are charged against earnings. This is called accretion if the security was purchased at a discount and amortization if it was purchased at premium. As a noncash item, this element is an adjustment to net income when calculating cash provided by or used in operations using the indirect method."
       }
      }
     },
     "auth_ref": [
      "r80"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued expenses",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r21"
     ]
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Less: Accumulated depreciation and amortization",
        "label": "[Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment]",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r118",
      "r446"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 22.0
      }
     },
     "presentation": [
      "http://aehr.com/role/AccumulatedOtherComprehensiveLossDetails",
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accumulated other comprehensive loss",
        "label": "[Accumulated Other Comprehensive Income (Loss), Net of Tax]",
        "periodStartLabel": "Balance at the beginning of the year",
        "periodEndLabel": "Balance at the ending of the year",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r27",
      "r68",
      "r121",
      "r443",
      "r466",
      "r467"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTaxAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "ACCUMULATED OTHER COMPREHENSIVE LOSS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accumulated other comprehensive loss",
        "label": "AOCI Attributable to Parent [Member]",
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r11",
      "r27",
      "r372",
      "r375",
      "r399",
      "r462",
      "r463",
      "r613",
      "r614",
      "r615",
      "r620",
      "r621",
      "r622"
     ]
    },
    "us-gaap_AdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapital",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 21.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional paid-in-capital",
        "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock."
       }
      }
     },
     "auth_ref": [
      "r59",
      "r574",
      "r675"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid-In Capital",
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders."
       }
      }
     },
     "auth_ref": [
      "r347",
      "r348",
      "r349",
      "r473",
      "r620",
      "r621",
      "r622",
      "r663",
      "r676"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based compensation",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r44",
      "r45",
      "r315"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income to net cash provided by operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllocatedShareBasedCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total stock-based compensation",
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized."
       }
      }
     },
     "auth_ref": [
      "r343",
      "r350"
     ]
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "aehr_AmountOfMinimumNetLiquidityOfCreditFacility": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "AmountOfMinimumNetLiquidityOfCreditFacility",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/BorrowingArrangementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum liquidity net"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://aehr.com/role/NetIncomeLossPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive employee share-based award shares, excluded",
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r167"
     ]
    },
    "srt_AsiaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "AsiaMember",
     "presentation": [
      "http://aehr.com/role/RevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Asia"
       }
      }
     },
     "auth_ref": [
      "r678",
      "r679",
      "r680",
      "r681"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total assets",
        "label": "[Assets]",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r91",
      "r120",
      "r143",
      "r176",
      "r183",
      "r188",
      "r228",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r365",
      "r369",
      "r385",
      "r438",
      "r501",
      "r574",
      "r586",
      "r633",
      "r634",
      "r667"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ASSETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current assets",
        "label": "[Assets, Current]",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r113",
      "r123",
      "r143",
      "r228",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r365",
      "r369",
      "r385",
      "r574",
      "r633",
      "r634",
      "r667"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current assets:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsMember",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets [Member]",
        "documentation": "Probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://aehr.com/role/StockBasedCompensationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type Axis",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342"
     ]
    },
    "us-gaap_BalanceSheetRelatedDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BalanceSheetRelatedDisclosuresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "BALANCE SHEET INFORMATION"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basis of Presentation",
        "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r81"
     ]
    },
    "us-gaap_BusinessDescriptionAndAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessDescriptionAndAccountingPoliciesTextBlock",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES",
        "label": "Business Description and Accounting Policies [Text Block]",
        "documentation": "The entire disclosure for the business description and accounting policies concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Accounting policies describe all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r81",
      "r82"
     ]
    },
    "us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessDescriptionAndBasisOfPresentationTextBlock",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization",
        "documentation": "The entire disclosure for the business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)."
       }
      }
     },
     "auth_ref": [
      "r56",
      "r81",
      "r82"
     ]
    },
    "us-gaap_CapitalizedCostsAssetRetirementCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalizedCostsAssetRetirementCosts",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/StockBasedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based compensation expense capitalized",
        "documentation": "The amount of asset retirement costs previously incurred and capitalized separately from the capitalized amount of the associated long-lived assets."
       }
      }
     },
     "auth_ref": [
      "r90"
     ]
    },
    "us-gaap_Cash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Cash",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash",
        "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. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r101",
      "r440",
      "r474",
      "r495",
      "r574",
      "r586",
      "r607"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets",
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and cash equivalents",
        "verboseLabel": "Total cash and cash equivalents",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r115",
      "r553"
     ]
    },
    "us-gaap_CashCashEquivalentsAndShortTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsAndShortTermInvestments",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Total cash, cash equivalents and investments",
        "label": "[Cash, Cash Equivalents, and Short-Term Investments]",
        "documentation": "Cash includes currency on hand as well as demand deposits with banks or financial institutions. It also includes other kinds of accounts that have the general characteristics of demand deposits in that the customer may deposit additional funds at any time and effectively may withdraw funds at any time without prior notice or penalty. Cash equivalents, excluding items classified as marketable securities, include short-term, highly liquid Investments that are both readily convertible to known amounts of cash, and so near their maturity that they present minimal risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three years ago does not become a cash equivalent when its remaining maturity is three months. Short-term investments, exclusive of cash equivalents, generally consist of marketable securities intended to be sold within one year (or the normal operating cycle if longer) and may include trading securities, available-for-sale securities, or held-to-maturity securities (if maturing within one year), as applicable."
       }
      }
     },
     "auth_ref": [
      "r612"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited",
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Cash, cash equivalents and restricted cash, beginning of period",
        "label": "[Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents]",
        "periodEndLabel": "Cash, cash equivalents and restricted cash, end of period",
        "verboseLabel": "Total cash, cash equivalents and investments",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r78",
      "r140"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net increase (decrease) in cash, cash equivalents and restricted cash",
        "label": "[Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect]",
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r78"
     ]
    },
    "us-gaap_CashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash equivalents",
        "documentation": "Amount of short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r607",
      "r670"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and contingencies (Note 6)",
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r53",
      "r439",
      "r486"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "COMMITMENTS AND CONTINGENCIES"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://aehr.com/role/CommitmentsAndContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "COMMITMENTS AND CONTINGENCIES",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r245",
      "r246",
      "r540",
      "r630"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r576",
      "r577",
      "r578",
      "r580",
      "r581",
      "r582",
      "r583",
      "r620",
      "r621",
      "r663",
      "r673",
      "r676"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, par value",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r58"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r487"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares issued",
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r58"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r58",
      "r487",
      "r507",
      "r676",
      "r677"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 20.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, $0.01 par value: Authorized: 75,000 shares; Issued and outstanding: 28,906 shares and 28,539 shares at February 29, 2024 and May 31, 2023, respectively",
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r442",
      "r574"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Comprehensive income (loss)",
        "label": "[Comprehensive Income (Loss), Net of Tax, Attributable to Parent]",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r28",
      "r127",
      "r129",
      "r134",
      "r433",
      "r453"
     ]
    },
    "us-gaap_ComprehensiveIncomeNoteTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNoteTextBlock",
     "presentation": [
      "http://aehr.com/role/AccumulatedOtherComprehensiveLoss"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "ACCUMULATED OTHER COMPREHENSIVE LOSS",
        "label": "Comprehensive Income (Loss) Note [Text Block]",
        "documentation": "The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r133",
      "r432",
      "r451"
     ]
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r34",
      "r49",
      "r50",
      "r196",
      "r539"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r34",
      "r49",
      "r50",
      "r196",
      "r468",
      "r539"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetails",
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Type [Axis]",
        "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r34",
      "r49",
      "r50",
      "r196",
      "r539",
      "r596"
     ]
    },
    "us-gaap_ConcentrationRiskCreditRisk": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskCreditRisk",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration of Credit Risk",
        "documentation": "Disclosure of accounting policy for credit risk."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r105"
     ]
    },
    "aehr_ConcentrationRiskPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "ConcentrationRiskPercentage",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration risk"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk, Percentage",
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r34",
      "r49",
      "r50",
      "r196"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetails",
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r34",
      "r49",
      "r50",
      "r196",
      "r539"
     ]
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ConsolidationPolicyTextBlock",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Principles of Consolidation",
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary."
       }
      }
     },
     "auth_ref": [
      "r46",
      "r558"
     ]
    },
    "aehr_ContactorsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "ContactorsMember",
     "presentation": [
      "http://aehr.com/role/RevenueDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contactors [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetNet",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/RevenueDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract assets",
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time."
       }
      }
     },
     "auth_ref": [
      "r291",
      "r293",
      "r304"
     ]
    },
    "us-gaap_ContractWithCustomerLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiability",
     "crdr": "credit",
     "presentation": [
      "http://aehr.com/role/RevenueDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract liabilities",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r291",
      "r292",
      "r304"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "crdr": "credit",
     "presentation": [
      "http://aehr.com/role/RevenueDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recognition of contract liabilities",
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due."
       }
      }
     },
     "auth_ref": [
      "r305"
     ]
    },
    "aehr_CostMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "CostMember",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfRevenue",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total cost of revenue",
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r73",
      "r143",
      "r228",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r385",
      "r633"
     ]
    },
    "us-gaap_CostOfRevenueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfRevenueAbstract",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of revenue:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfSalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfSalesMember",
     "presentation": [
      "http://aehr.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of Sales",
        "documentation": "Primary financial statement caption encompassing cost of sales."
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "aehr_CumulativeTranslationAdjustmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "CumulativeTranslationAdjustmentsMember",
     "presentation": [
      "http://aehr.com/role/AccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cumulative Translation Adjustments [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "aehr_CustomerAMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "CustomerAMember",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer A"
       }
      }
     },
     "auth_ref": []
    },
    "aehr_CustomerBMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "CustomerBMember",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer B"
       }
      }
     },
     "auth_ref": []
    },
    "aehr_CustomerCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "CustomerCMember",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer C"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CustomerDepositsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CustomerDepositsCurrent",
     "crdr": "credit",
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformationDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer deposits",
        "documentation": "The current portion of money or property received from customers which is either to be returned upon satisfactory contract completion or applied to customer receivables in accordance with the terms of the contract or the understandings."
       }
      }
     },
     "auth_ref": [
      "r99"
     ]
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "BORROWING ARRANGEMENTS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureTextBlock",
     "presentation": [
      "http://aehr.com/role/BorrowingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "BORROWING ARRANGEMENTS",
        "label": "Debt Disclosure [Text Block]",
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants."
       }
      }
     },
     "auth_ref": [
      "r87",
      "r141",
      "r263",
      "r264",
      "r265",
      "r266",
      "r267",
      "r268",
      "r269",
      "r271",
      "r272",
      "r273",
      "r275"
     ]
    },
    "us-gaap_DebtInstrumentInterestRateTerms": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentInterestRateTerms",
     "presentation": [
      "http://aehr.com/role/BorrowingArrangementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable interest rate",
        "documentation": "Description of the interest rate as being fixed or variable, and, if variable, identification of the index or rate on which the interest rate is based and the number of points or percentage added to that index or rate to set the rate, and other pertinent information, such as frequency of rate resets."
       }
      }
     },
     "auth_ref": [
      "r23"
     ]
    },
    "us-gaap_DeferredRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredRevenue",
     "crdr": "credit",
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformationDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Deferred revenue, short-term",
        "label": "[Deferred Revenue]",
        "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r610"
     ]
    },
    "us-gaap_DeferredRevenueAndCreditsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredRevenueAndCreditsCurrent",
     "crdr": "credit",
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformationDetails3"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Deferred revenue",
        "label": "[Deferred Revenue and Credits, Current]",
        "documentation": "Total carrying amount of consideration received or receivable as of the balance sheet date on potential earnings that were not recognized as revenue or other forms of income in conformity with GAAP, and which are expected to be recognized as such within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r99"
     ]
    },
    "us-gaap_DeferredRevenueByArrangementDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredRevenueByArrangementDisclosureTextBlock",
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer deposits and deferred revenue, short-term",
        "documentation": "Tabular disclosure of the type of arrangements and the corresponding amounts that comprise the current and noncurrent balance of deferred revenue as of the balance sheet date."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredRevenueCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredRevenueCurrent",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred revenue, short-term",
        "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r609"
     ]
    },
    "us-gaap_DeferredRevenueNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredRevenueNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 17.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred revenue, long-term",
        "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r610"
     ]
    },
    "us-gaap_DepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepreciationAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation and amortization",
        "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r38"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "presentation": [
      "http://aehr.com/role/RevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of revenue",
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r636"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://aehr.com/role/StockBasedCompensation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "STOCK-BASED COMPENSATION",
        "label": "Share-Based Payment Arrangement [Text Block]",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r314",
      "r316",
      "r344",
      "r345",
      "r346",
      "r571"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "STOCK-BASED COMPENSATION"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r590"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r591"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareAbstract",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net income (loss) per share:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited",
      "http://aehr.com/role/NetIncomeLossPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basic",
        "verboseLabel": "Basic net income (loss) per share",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r135",
      "r150",
      "r151",
      "r152",
      "r153",
      "r154",
      "r160",
      "r162",
      "r164",
      "r165",
      "r166",
      "r170",
      "r380",
      "r381",
      "r434",
      "r454",
      "r559"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited",
      "http://aehr.com/role/NetIncomeLossPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Diluted",
        "verboseLabel": "Diluted net income (loss) per share",
        "documentation": "The amount of net income (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."
       }
      }
     },
     "auth_ref": [
      "r135",
      "r150",
      "r151",
      "r152",
      "r153",
      "r154",
      "r162",
      "r164",
      "r165",
      "r166",
      "r170",
      "r380",
      "r381",
      "r434",
      "r454",
      "r559"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://aehr.com/role/NetIncomeLossPerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "NET INCOME (LOSS) PER SHARE",
        "label": "Earnings Per Share [Text Block]",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r159",
      "r167",
      "r168",
      "r169"
     ]
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 25.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of exchange rate changes on cash, cash equivalents and restricted cash",
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r388"
     ]
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address Address Line 1",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address City Or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address State Or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r588"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r588"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r588"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation State Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r592"
     ]
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r588"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r588"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r588"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r588"
     ]
    },
    "us-gaap_EquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "SHAREHOLDERS EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r111",
      "r130",
      "r131",
      "r132",
      "r145",
      "r146",
      "r147",
      "r149",
      "r155",
      "r157",
      "r171",
      "r229",
      "r230",
      "r290",
      "r347",
      "r348",
      "r349",
      "r357",
      "r358",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r379",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r399",
      "r462",
      "r463",
      "r464",
      "r473",
      "r527"
     ]
    },
    "aehr_EstimatedFairValueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "EstimatedFairValueMember",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Estimated Fair Value [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_EuropeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "EuropeMember",
     "presentation": [
      "http://aehr.com/role/RevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Europe"
       }
      }
     },
     "auth_ref": [
      "r678",
      "r679",
      "r680",
      "r681"
     ]
    },
    "aehr_FairValueAssetsLevelOneToLevelTwoTransfersAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "FairValueAssetsLevelOneToLevelTwoTransfersAmount",
     "crdr": "credit",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Transfer between Level 1 and Level 2 fair value measurements"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Class of asset."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "us-gaap_FairValueByAssetClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueByAssetClassAxis",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value By Asset Class Axis",
        "documentation": "Information by class of asset."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r48"
     ]
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair Value By Fair Value Hierarchy Level Axis",
        "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient."
       }
      }
     },
     "auth_ref": [
      "r270",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r384",
      "r404",
      "r405",
      "r406",
      "r563",
      "r564",
      "r568",
      "r569",
      "r570"
     ]
    },
    "us-gaap_FairValueDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueDisclosuresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "FAIR VALUE OF FINANCIAL INSTRUMENTS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FairValueDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueDisclosuresTextBlock",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstruments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "FAIR VALUE OF FINANCIAL INSTRUMENTS",
        "label": "Fair Value Disclosures [Text Block]",
        "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information."
       }
      }
     },
     "auth_ref": [
      "r382"
     ]
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueInputsLevel1Member",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Level 1 [Member]",
        "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date."
       }
      }
     },
     "auth_ref": [
      "r270",
      "r307",
      "r312",
      "r384",
      "r404",
      "r568",
      "r569",
      "r570"
     ]
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueInputsLevel2Member",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Level 2 [Member]",
        "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets."
       }
      }
     },
     "auth_ref": [
      "r270",
      "r307",
      "r312",
      "r384",
      "r405",
      "r563",
      "r564",
      "r568",
      "r569",
      "r570"
     ]
    },
    "us-gaap_FairValueInputsLevel3Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueInputsLevel3Member",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Level 3 [Member]",
        "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing."
       }
      }
     },
     "auth_ref": [
      "r270",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r384",
      "r406",
      "r563",
      "r564",
      "r568",
      "r569",
      "r570"
     ]
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value."
       }
      }
     },
     "auth_ref": [
      "r270",
      "r307",
      "r308",
      "r309",
      "r310",
      "r311",
      "r312",
      "r404",
      "r405",
      "r406",
      "r563",
      "r564",
      "r568",
      "r569",
      "r570"
     ]
    },
    "us-gaap_FinancialInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinancialInstrumentAxis",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails",
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial Instrument Axis",
        "documentation": "Information by type of financial instrument."
       }
      }
     },
     "auth_ref": [
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r232",
      "r233",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r274",
      "r288",
      "r377",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r452",
      "r562",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r625",
      "r626",
      "r627",
      "r628"
     ]
    },
    "us-gaap_FinancialLiabilitiesFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FinancialLiabilitiesFairValueDisclosure",
     "crdr": "credit",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Financial liabilities at fair value",
        "documentation": "Fair value of financial obligations, including, but not limited to, debt instruments, derivative liabilities, federal funds purchased and sold under agreements to repurchase, securities loaned or sold under agreements to repurchase, financial instruments sold not yet purchased, guarantees, line of credit, loans and notes payable, servicing liability, and trading liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "aehr_FirstAmendmentToLoanAndSecurityAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "FirstAmendmentToLoanAndSecurityAgreementMember",
     "presentation": [
      "http://aehr.com/role/BorrowingArrangementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "First Amendment to Loan and Security Agreement"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FurnitureAndFixturesGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FurnitureAndFixturesGross",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Furniture and fixtures",
        "documentation": "Amount before accumulated depreciation of equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases."
       }
      }
     },
     "auth_ref": [
      "r85"
     ]
    },
    "us-gaap_GeneralAndAdministrativeExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeneralAndAdministrativeExpenseMember",
     "presentation": [
      "http://aehr.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling, General and Administrative",
        "documentation": "Primary financial statement caption encompassing general and administrative expense."
       }
      }
     },
     "auth_ref": [
      "r71"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross profit",
        "label": "[Gross Profit]",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r72",
      "r143",
      "r176",
      "r182",
      "r187",
      "r190",
      "r228",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r385",
      "r561",
      "r633"
     ]
    },
    "aehr_GrossUnrealizedLossMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "GrossUnrealizedLossMember",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross Unrealized Loss"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income (loss) before provision for income taxes",
        "label": "[Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest]",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r69",
      "r95",
      "r176",
      "r182",
      "r187",
      "r190",
      "r435",
      "r448",
      "r561"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS (Unaudited)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementLocationAxis",
     "presentation": [
      "http://aehr.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement Location Axis",
        "documentation": "Information by location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r243",
      "r244",
      "r512"
     ]
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementLocationDomain",
     "presentation": [
      "http://aehr.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in the income statement."
       }
      }
     },
     "auth_ref": [
      "r244",
      "r512"
     ]
    },
    "us-gaap_IncomeTaxAuthorityNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityNameAxis",
     "presentation": [
      "http://aehr.com/role/SegmentAndConcentrationInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority Name Axis",
        "documentation": "Information by name of taxing authority."
       }
      }
     },
     "auth_ref": [
      "r10"
     ]
    },
    "us-gaap_IncomeTaxAuthorityNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxAuthorityNameDomain",
     "presentation": [
      "http://aehr.com/role/SegmentAndConcentrationInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Named agency, division or body that levies income taxes, examines tax returns for compliance, or grants exemptions from or makes other decisions pertaining to income taxes."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "INCOME TAX"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://aehr.com/role/IncomeTax"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "INCOME TAX",
        "label": "Income Tax Disclosure [Text Block]",
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information."
       }
      }
     },
     "auth_ref": [
      "r144",
      "r352",
      "r354",
      "r355",
      "r356",
      "r359",
      "r361",
      "r362",
      "r363",
      "r471"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited",
      "http://aehr.com/role/IncomeTaxesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Provision for income taxes",
        "verboseLabel": "Provision for income taxes",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r100",
      "r109",
      "r156",
      "r157",
      "r179",
      "r353",
      "r360",
      "r455"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsPayable",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accounts payable",
        "label": "[Increase (Decrease) in Accounts Payable]",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount 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."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes payable",
        "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accrued expenses",
        "label": "[Increase (Decrease) in Accrued Liabilities]",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_IncreaseDecreaseInDeferredRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInDeferredRevenue",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred revenue",
        "documentation": "Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable."
       }
      }
     },
     "auth_ref": [
      "r550"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Inventories",
        "label": "[Increase (Decrease) in Inventories]",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changes in operating assets and liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingLeaseLiability",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease liabilities",
        "documentation": "Amount of increase (decrease) in obligation for operating lease."
       }
      }
     },
     "auth_ref": [
      "r597",
      "r616"
     ]
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Prepaid expenses and other current assets",
        "label": "[Increase (Decrease) in Prepaid Expense and Other Assets]",
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_InterestIncomeExpenseNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestIncomeExpenseNet",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest income, net",
        "documentation": "The net amount of operating interest income (expense)."
       }
      }
     },
     "auth_ref": [
      "r97"
     ]
    },
    "aehr_InternationalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "InternationalMember",
     "presentation": [
      "http://aehr.com/role/SegmentAndConcentrationInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "International"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finished goods",
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale."
       }
      }
     },
     "auth_ref": [
      "r84",
      "r555"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformationDetails",
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories",
        "verboseLabel": "Inventories",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r122",
      "r554",
      "r574"
     ]
    },
    "us-gaap_InventoryRawMaterialsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryRawMaterialsNetOfReserves",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Raw materials and sub-assemblies",
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of unprocessed items to be consumed in the manufacturing or production process."
       }
      }
     },
     "auth_ref": [
      "r84",
      "r557"
     ]
    },
    "us-gaap_InventoryWorkInProcessNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryWorkInProcessNetOfReserves",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Work in process",
        "documentation": "Carrying amount, net of reserves and adjustments, as of the balance sheet date of merchandise or goods which are partially completed. This inventory is generally comprised of raw materials, labor and factory overhead costs, which require further materials, labor and overhead to be converted into finished goods, and which generally require the use of estimates to determine percentage complete and pricing."
       }
      }
     },
     "auth_ref": [
      "r84",
      "r556"
     ]
    },
    "us-gaap_InvestmentsFairValueDisclosure": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InvestmentsFairValueDisclosure",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Investment securities",
        "documentation": "Fair value portion of investment securities, including, but not limited to, marketable securities, derivative financial instruments, and investments accounted for under the equity method."
       }
      }
     },
     "auth_ref": [
      "r383"
     ]
    },
    "aehr_IssuanceCostOfCommonStockOffering": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "IssuanceCostOfCommonStockOffering",
     "crdr": "credit",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuance cost of common stock offering"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseholdImprovementsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeaseholdImprovementsGross",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Leasehold improvements",
        "documentation": "Amount before accumulated depreciation of additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r85"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 24.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities",
        "label": "[Liabilities]",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r143",
      "r228",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r366",
      "r369",
      "r370",
      "r385",
      "r485",
      "r560",
      "r586",
      "r633",
      "r667",
      "r668"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities and shareholders' equity",
        "label": "[Liabilities and Equity]",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r63",
      "r92",
      "r445",
      "r574",
      "r619",
      "r629",
      "r664"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LIABILITIES AND SHAREHOLDERS' EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current liabilities",
        "label": "[Liabilities, Current]",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r22",
      "r114",
      "r143",
      "r228",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r366",
      "r369",
      "r370",
      "r385",
      "r574",
      "r633",
      "r667",
      "r668"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityExpirationDate1": {
     "xbrltype": "dateItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityExpirationDate1",
     "presentation": [
      "http://aehr.com/role/BorrowingArrangementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revolving line maturity date",
        "documentation": "Date the credit facility terminates, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r19"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://aehr.com/role/BorrowingArrangementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit, maximum borrowing",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r19"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongLivedAssetsByGeographicAreasTableTextBlock",
     "presentation": [
      "http://aehr.com/role/SegmentAndConcentrationInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and equipment by geographic region",
        "documentation": "Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets."
       }
      }
     },
     "auth_ref": [
      "r16"
     ]
    },
    "us-gaap_LongTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LongTermInvestments",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-term investments",
        "documentation": "The total amount of investments that are intended to be held for an extended period of time (longer than one operating cycle)."
       }
      }
     },
     "auth_ref": [
      "r116"
     ]
    },
    "us-gaap_MachineryAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "MachineryAndEquipmentGross",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Machinery and equipment",
        "documentation": "Amount before accumulated depreciation of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment."
       }
      }
     },
     "auth_ref": [
      "r85"
     ]
    },
    "aehr_MoneyMarketFundMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "MoneyMarketFundMember",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails",
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Money Market Funds",
        "verboseLabel": "Money Market Funds"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 24.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash provided by (used in) financing activities",
        "label": "[Net Cash Provided by (Used in) Financing Activities]",
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r139"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from financing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 23.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash provided by (used in) investing activities",
        "label": "[Net Cash Provided by (Used in) Investing Activities]",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r139"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from investing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 22.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash provided by operating activities",
        "label": "[Net Cash Provided by (Used in) Operating Activities]",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r79",
      "r80"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 2.0
      },
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited",
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited",
      "http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited",
      "http://aehr.com/role/NetIncomeLossPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net income (loss)",
        "label": "[Net Income (Loss) Attributable to Parent]",
        "verboseLabel": "Net income (loss)",
        "terseLabel": "Net income",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r80",
      "r96",
      "r112",
      "r126",
      "r128",
      "r132",
      "r143",
      "r148",
      "r150",
      "r151",
      "r152",
      "r153",
      "r156",
      "r157",
      "r163",
      "r176",
      "r182",
      "r187",
      "r190",
      "r228",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r381",
      "r385",
      "r450",
      "r509",
      "r525",
      "r526",
      "r561",
      "r584",
      "r633"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recent Accounting Pronouncements",
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoninterestExpenseOfferingCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoninterestExpenseOfferingCost",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/ShareholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Offering expenses",
        "documentation": "Includes offering costs of open-end investment companies, and closed-end funds with a continuous offering period."
       }
      }
     },
     "auth_ref": [
      "r98"
     ]
    },
    "aehr_NonvestedRSUActivtyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "NonvestedRSUActivtyMember",
     "presentation": [
      "http://aehr.com/role/StockBasedCompensationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonvested RSU Activty"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpenses",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total operating expenses",
        "label": "[Operating Expenses]",
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpensesAbstract",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating expenses:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income (loss) from operations",
        "label": "[Operating Income (Loss)]",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r176",
      "r182",
      "r187",
      "r190",
      "r561"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease liabilities, short-term",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r398"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease liabilities, long-term",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r398"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating lease right-of-use assets, net",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r397"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization of operating lease right-of-use assets",
        "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease."
       }
      }
     },
     "auth_ref": [
      "r617"
     ]
    },
    "aehr_OriginalLoanAndSecurityAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "OriginalLoanAndSecurityAgreementMember",
     "presentation": [
      "http://aehr.com/role/BorrowingArrangementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Original Loan and Security Agreement"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other non-current assets",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r119"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net change in cumulative translation adjustment",
        "documentation": "Amount after tax, before reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r68",
      "r386",
      "r387",
      "r389"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLocationAxis",
     "presentation": [
      "http://aehr.com/role/AccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income Location Axis",
        "documentation": "Information by location in other comprehensive income."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLocationDomain",
     "presentation": [
      "http://aehr.com/role/AccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Location in other comprehensive income."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeLossBeforeReclassificationsTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossBeforeReclassificationsTax",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/AccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other comprehensive loss before reclassifications",
        "documentation": "Amount of tax expense (benefit) allocated to other comprehensive income (loss) before reclassification adjustment from accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r130",
      "r451"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign currency translation adjustment",
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossTaxAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossTaxAbstract",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other comprehensive income (loss), net of tax:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfComprehensiveIncomeUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net change in unrealized gain (loss) on investments",
        "documentation": "Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale."
       }
      }
     },
     "auth_ref": [
      "r124",
      "r125",
      "r227"
     ]
    },
    "us-gaap_OtherLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 18.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other long-term liabilities",
        "documentation": "Amount of liabilities classified as other."
       }
      }
     },
     "auth_ref": [
      "r52",
      "r437",
      "r481",
      "r482",
      "r586",
      "r674"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other income (expense), net",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r75"
     ]
    },
    "aehr_OutstandingAmounTofATMOffering": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "OutstandingAmounTofATMOffering",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/ShareholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Remaining amount of the ATM offering"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 20.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited",
      "http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Shares repurchased for tax withholdings on vesting of restricted stock units, amount",
        "label": "[Payment, Tax Withholding, Share-Based Payment Arrangement]",
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r137"
     ]
    },
    "us-gaap_PaymentsToAcquireInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquireInvestments",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 18.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchases of investments",
        "label": "[Payments to Acquire Investments]",
        "documentation": "The cash outflow associated with the purchase of all investments (debt, security, other) during the period."
       }
      }
     },
     "auth_ref": [
      "r76"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Purchases of property and equipment",
        "label": "[Payments to Acquire Property, Plant, and Equipment]",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r77"
     ]
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://aehr.com/role/BorrowingArrangementsDetailsNarrative",
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails",
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660",
      "r661",
      "r662"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://aehr.com/role/BorrowingArrangementsDetailsNarrative",
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails",
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r637",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643",
      "r644",
      "r645",
      "r646",
      "r647",
      "r648",
      "r649",
      "r650",
      "r651",
      "r652",
      "r653",
      "r654",
      "r655",
      "r656",
      "r657",
      "r658",
      "r659",
      "r660",
      "r661",
      "r662"
     ]
    },
    "us-gaap_PreferredStockNoParValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockNoParValue",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, par value",
        "documentation": "Face amount per share of no-par value preferred stock nonredeemable or redeemable solely at the option of the issuer."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r635"
     ]
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesAuthorized",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, shares authorized",
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r487"
     ]
    },
    "us-gaap_PreferredStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesIssued",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, shares issued",
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r277"
     ]
    },
    "us-gaap_PreferredStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockSharesOutstanding",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, shares outstanding",
        "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r487",
      "r507",
      "r676",
      "r677"
     ]
    },
    "us-gaap_PreferredStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PreferredStockValue",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 19.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Preferred stock, $0.01 par value: Authorized: 10,000 shares; Issued and outstanding: none",
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r441",
      "r574"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid expenses and other current assets",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r612"
     ]
    },
    "us-gaap_ProceedsFromIssuanceInitialPublicOffering": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceInitialPublicOffering",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 21.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from issuance of common stock from public offering, net of issuance costs",
        "documentation": "The cash inflow associated with the amount received from entity's first offering of stock to the public."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 19.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from issuance of common stock under employee plans",
        "documentation": "The cash inflow from the additional capital contribution to the entity."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_ProceedsFromOtherEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromOtherEquity",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/ShareholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross proceeds",
        "documentation": "Amount of cash inflow from the issuance of equity classified as other."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "ProceedsFromPublicOfferingNetOfIssuanceCostsAmount",
     "crdr": "credit",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from public offering, net of issuance costs, amount"
       }
      }
     },
     "auth_ref": []
    },
    "aehr_ProceedsFromPublicOfferingNetOfIssuanceCostsShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "ProceedsFromPublicOfferingNetOfIssuanceCostsShares",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from public offering, net of issuance costs"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromSaleAndMaturityOfOtherInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProceedsFromSaleAndMaturityOfOtherInvestments",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 17.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from maturities of investments",
        "documentation": "The cash inflow associated with the sale and maturity (principal being due) of other investments, prepayment and call (request of early payment) of other investments not otherwise defined in the taxonomy."
       }
      }
     },
     "auth_ref": [
      "r29"
     ]
    },
    "us-gaap_ProductMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductMember",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product [Member]",
        "documentation": "Article or substance produced by nature, labor or machinery."
       }
      }
     },
     "auth_ref": [
      "r565"
     ]
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://aehr.com/role/AccumulatedOtherComprehensiveLossDetails",
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited",
      "http://aehr.com/role/RevenueDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "auth_ref": [
      "r192",
      "r431",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r551",
      "r565",
      "r575",
      "r598",
      "r631",
      "r632",
      "r636",
      "r672"
     ]
    },
    "us-gaap_ProductWarrantyAccrual": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyAccrual",
     "crdr": "credit",
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformationDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance at the beginning of the period",
        "label": "[Standard and Extended Product Warranty Accrual]",
        "periodEndLabel": "Balance at the End of the period",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r247",
      "r249",
      "r253"
     ]
    },
    "us-gaap_ProductWarrantyAccrualPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyAccrualPayments",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformationDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Consumption of reserves",
        "label": "[Standard and Extended Product Warranty Accrual, Decrease for Payments]",
        "documentation": "Amount of decrease in the standard and extended product warranty accrual from payments made in cash or in kind to satisfy claims under the terms of the standard and extended product warranty."
       }
      }
     },
     "auth_ref": [
      "r250"
     ]
    },
    "us-gaap_ProductWarrantyAccrualPreexistingIncreaseDecrease": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyAccrualPreexistingIncreaseDecrease",
     "crdr": "credit",
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformationDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to previously existing warranty accruals",
        "documentation": "Amount of increase (decrease) in the standard and extended product warranty accrual from changes in estimates attributable to preexisting product warranties."
       }
      }
     },
     "auth_ref": [
      "r252"
     ]
    },
    "us-gaap_ProductWarrantyAccrualWarrantiesIssued": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProductWarrantyAccrualWarrantiesIssued",
     "crdr": "credit",
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformationDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accruals for warranties issued during the period",
        "documentation": "Amount of increase in the standard and extended product warranty accrual from warranties issued."
       }
      }
     },
     "auth_ref": [
      "r251"
     ]
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://aehr.com/role/AccumulatedOtherComprehensiveLossDetails",
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited",
      "http://aehr.com/role/RevenueDetails1"
     ],
     "auth_ref": [
      "r192",
      "r431",
      "r456",
      "r457",
      "r458",
      "r459",
      "r460",
      "r461",
      "r551",
      "r565",
      "r575",
      "r598",
      "r631",
      "r632",
      "r636",
      "r672"
     ]
    },
    "aehr_ProductsAndServicesTransferredAtAPointInTimeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "ProductsAndServicesTransferredAtAPointInTimeMember",
     "presentation": [
      "http://aehr.com/role/RevenueDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Products And Services Transferred At A Point In Time [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProfitLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProfitLoss",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Net income",
        "label": "[Net Income (Loss), Including Portion Attributable to Noncontrolling Interest]",
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r112",
      "r126",
      "r128",
      "r138",
      "r143",
      "r148",
      "r156",
      "r157",
      "r176",
      "r182",
      "r187",
      "r190",
      "r228",
      "r254",
      "r255",
      "r256",
      "r257",
      "r258",
      "r259",
      "r260",
      "r261",
      "r262",
      "r364",
      "r367",
      "r368",
      "r381",
      "r385",
      "r435",
      "r449",
      "r472",
      "r509",
      "r525",
      "r526",
      "r561",
      "r572",
      "r573",
      "r585",
      "r615",
      "r633"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and equipment, gross",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r85",
      "r117",
      "r447"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformationDetails1",
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets",
      "http://aehr.com/role/SegmentAndConcentrationInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and equipment, net",
        "verboseLabel": "Property and equipment, net",
        "terseLabel": "Property and equipment, net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r436",
      "r447",
      "r574"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentOther",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Test equipment",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of other physical assets used in the normal conduct of business to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Property and equipment, net",
        "label": "Property, Plant and Equipment [Table Text Block]",
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ProvisionForDoubtfulAccounts",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Provision for doubtful accounts",
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r136",
      "r235"
     ]
    },
    "aehr_RecentAccountingPronouncementsNotYetAdoptedPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "RecentAccountingPronouncementsNotYetAdoptedPolicyTextBlock",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recent Accounting Pronouncements Not Yet Adopted"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Reclassifications": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Reclassifications",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reclassifications",
        "documentation": "The entire disclosure for classifying current financial statements, which may be different from classifications in the prior year's financial statements. Disclose any material changes in classification including an explanation of the reason for the change and the areas impacted."
       }
      }
     },
     "auth_ref": [
      "r56"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and development",
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r351",
      "r669"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpenseMember",
     "presentation": [
      "http://aehr.com/role/StockBasedCompensationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and Development",
        "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestrictedCashNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RestrictedCashNoncurrent",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted cash",
        "documentation": "Amount of cash restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits."
       }
      }
     },
     "auth_ref": [
      "r102",
      "r608",
      "r618"
     ]
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 23.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated deficit",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r60",
      "r89",
      "r444",
      "r465",
      "r467",
      "r470",
      "r488",
      "r574"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings (Accumulated Deficit)",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r111",
      "r145",
      "r146",
      "r147",
      "r149",
      "r155",
      "r157",
      "r229",
      "r230",
      "r347",
      "r348",
      "r349",
      "r357",
      "r358",
      "r371",
      "r373",
      "r374",
      "r376",
      "r379",
      "r462",
      "r464",
      "r473",
      "r676"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "REVENUE"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited",
      "http://aehr.com/role/RevenueDetails",
      "http://aehr.com/role/RevenueDetails1",
      "http://aehr.com/role/RevenueDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Revenue",
        "verboseLabel": "Net sales",
        "terseLabel": "Net sales",
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise."
       }
      }
     },
     "auth_ref": [
      "r177",
      "r178",
      "r181",
      "r185",
      "r186",
      "r192",
      "r194",
      "r196",
      "r302",
      "r303",
      "r431"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://aehr.com/role/REVENUE"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "REVENUE",
        "label": "Revenue from Contract with Customer [Text Block]",
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r306"
     ]
    },
    "aehr_RevenueMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "RevenueMember",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligation",
     "crdr": "credit",
     "presentation": [
      "http://aehr.com/role/RevenueDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Remaining performance obligations",
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r108"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationPercentage",
     "presentation": [
      "http://aehr.com/role/RevenueDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Remaining performance obligation revenue recognition",
        "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r595"
     ]
    },
    "us-gaap_RevenuesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenuesAbstract",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues"
       }
      }
     },
     "auth_ref": []
    },
    "aehr_RevenuesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "RevenuesMember",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue"
       }
      }
     },
     "auth_ref": []
    },
    "aehr_RevolvingLineTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "RevolvingLineTerminationDate",
     "presentation": [
      "http://aehr.com/role/BorrowingArrangementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revolving line termination date"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SaleOfStockNumberOfSharesIssuedInTransaction",
     "presentation": [
      "http://aehr.com/role/ShareholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of common stock shares",
        "documentation": "The number of shares issued or sold by the subsidiary or equity method investee per stock transaction."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SaleOfStockPricePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SaleOfStockPricePerShare",
     "presentation": [
      "http://aehr.com/role/ShareholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sale of common stock price per share",
        "documentation": "Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SalesCommissionsAndFees": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SalesCommissionsAndFees",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/ShareholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commission fees",
        "documentation": "Primarily represents commissions incurred in the period based upon the sale by commissioned employees or third parties of the entity's goods or services, and fees for sales assistance or product enhancements performed by third parties (such as a distributor or value added reseller)."
       }
      }
     },
     "auth_ref": [
      "r74"
     ]
    },
    "srt_ScenarioForecastMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ScenarioForecastMember",
     "presentation": [
      "http://aehr.com/role/RevenueDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario Forecast [Member]"
       }
      }
     },
     "auth_ref": [
      "r313",
      "r623"
     ]
    },
    "srt_ScenarioUnspecifiedDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ScenarioUnspecifiedDomain",
     "presentation": [
      "http://aehr.com/role/RevenueDetailsNarrative"
     ],
     "auth_ref": [
      "r158",
      "r313",
      "r593",
      "r623"
     ]
    },
    "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock",
     "presentation": [
      "http://aehr.com/role/AccumulatedOtherComprehensiveLossTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Changes in the components of accumulated other comprehensive loss, net of tax",
        "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss)."
       }
      }
     },
     "auth_ref": [
      "r27",
      "r665",
      "r666"
     ]
    },
    "us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash, cash equivalents and investments by security type",
        "documentation": "Tabular disclosure of the components of cash, cash equivalents, and investments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://aehr.com/role/NetIncomeLossPerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net income (loss) earnings per share",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r624"
     ]
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "presentation": [
      "http://aehr.com/role/StockbasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation costs related to the Company's stock-based compensation",
        "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement."
       }
      }
     },
     "auth_ref": [
      "r43"
     ]
    },
    "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Fair value by hierarchy",
        "documentation": "Tabular disclosure of assets and liabilities, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3)."
       }
      }
     },
     "auth_ref": [
      "r383",
      "r384"
     ]
    },
    "aehr_ScheduleOfFinancialInstrumentsTextblock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "ScheduleOfFinancialInstrumentsTextblock",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of financial instruments"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Inventories",
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r64",
      "r65",
      "r66"
     ]
    },
    "us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfProductWarrantyLiabilityTableTextBlock",
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liability for product warranties",
        "documentation": "Tabular disclosure of the changes in the guarantor's aggregate product warranty liability, including the beginning balance of the aggregate product warranty liability, the aggregate reductions in that liability for payments made (in cash or in kind) under the warranty, the aggregate changes in the liability for accruals related to product warranties issued during the reporting period, the aggregate changes in the liability for accruals related to preexisting warranties (including adjustments related to changes in estimates), and the ending balance of the aggregate product warranty liability."
       }
      }
     },
     "auth_ref": [
      "r248"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfShareBasedCompensationActivityTableTextBlock",
     "presentation": [
      "http://aehr.com/role/StockbasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Nonvested RSU activity",
        "documentation": "Tabular disclosure of activity for award under share-based payment arrangement. Includes, but is not limited to, outstanding award at beginning and end of year, granted, exercised, forfeited, and weighted-average grant date fair value."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r15",
      "r41"
     ]
    },
    "aehr_SecondAmendmentToLoanAndSecurityAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "SecondAmendmentToLoanAndSecurityAgreementMember",
     "presentation": [
      "http://aehr.com/role/BorrowingArrangementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Second Amendment To Loan And Security Agreement"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SecuritiesBorrowedAllowanceForCreditLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SecuritiesBorrowedAllowanceForCreditLoss",
     "crdr": "credit",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for credit losses",
        "documentation": "Amount of allowance for credit loss on security borrowed."
       }
      }
     },
     "auth_ref": [
      "r231",
      "r234",
      "r236"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security 12b Title",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r587"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r589"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://aehr.com/role/RevenueDetails",
      "http://aehr.com/role/SegmentAndConcentrationInformationDetails"
     ],
     "auth_ref": [
      "r194",
      "r195",
      "r476",
      "r477",
      "r478",
      "r532",
      "r533",
      "r534",
      "r535",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r552",
      "r566",
      "r578",
      "r636",
      "r672"
     ]
    },
    "us-gaap_SegmentReportingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "SEGMENT AND CONCENTRATION INFORMATION"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SegmentReportingDisclosureTextBlock",
     "presentation": [
      "http://aehr.com/role/SegmentAndConcentrationInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "SEGMENT AND CONCENTRATION INFORMATION",
        "label": "Segment Reporting Disclosure [Text Block]",
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments."
       }
      }
     },
     "auth_ref": [
      "r172",
      "r173",
      "r174",
      "r175",
      "r176",
      "r180",
      "r184",
      "r188",
      "r189",
      "r190",
      "r191",
      "r192",
      "r193",
      "r196"
     ]
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling, general and administrative",
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc."
       }
      }
     },
     "auth_ref": [
      "r74"
     ]
    },
    "us-gaap_ServiceMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ServiceMember",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Services [Member]",
        "documentation": "Assistance, including, but not limited to, technology, license and maintenance, license and service, maintenance, oil and gas, and financial service."
       }
      }
     },
     "auth_ref": [
      "r565"
     ]
    },
    "aehr_ServicesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "ServicesMember",
     "presentation": [
      "http://aehr.com/role/RevenueDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Services [Member]",
        "label": "[Services [Member]]"
       }
      }
     },
     "auth_ref": []
    },
    "aehr_ServicesTransferredOverTimeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "ServicesTransferredOverTimeMember",
     "presentation": [
      "http://aehr.com/role/RevenueDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Services Transferred over Time [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based compensation expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "aehr_ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeStockPurchasePlanNumberOfSharesAvailableForGrant": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeStockPurchasePlanNumberOfSharesAvailableForGrant",
     "presentation": [
      "http://aehr.com/role/StockBasedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee stock purchase plan shares available for issuance"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://aehr.com/role/StockBasedCompensationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Weighted Average Grant Date Fair Value Per Share, beginning",
        "label": "[Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value]",
        "periodEndLabel": "Weighted Average Grant Date Fair Value Per Share, Ending",
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r328",
      "r329"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "presentation": [
      "http://aehr.com/role/StockBasedCompensationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Shares, Vested (in thousands)",
        "label": "[Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period]",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r332"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "presentation": [
      "http://aehr.com/role/StockBasedCompensationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Unvested May 31, 2023, beginning (in thousands)",
        "label": "[Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant]",
        "periodEndLabel": "Unvested February 29, 2024, ending (in thousands)",
        "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable."
       }
      }
     },
     "auth_ref": [
      "r40"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "presentation": [
      "http://aehr.com/role/StockBasedCompensationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares, Granted (in thousands)",
        "documentation": "Gross number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r324"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://aehr.com/role/StockBasedCompensationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Granted",
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology."
       }
      }
     },
     "auth_ref": [
      "r334"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://aehr.com/role/StockBasedCompensationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r317",
      "r318",
      "r319",
      "r320",
      "r321",
      "r322",
      "r323",
      "r324",
      "r325",
      "r326",
      "r327",
      "r328",
      "r329",
      "r330",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://aehr.com/role/StockBasedCompensationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forfeited",
        "documentation": "Weighted average grant-date fair value of non-vested options forfeited."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://aehr.com/role/StockBasedCompensationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vested",
        "documentation": "Weighted average grant-date fair value of options vested."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesIssued",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Balance, shares",
        "label": "[Shares, Issued]",
        "periodEndLabel": "Balance, shares",
        "documentation": "Number of shares of stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r12"
     ]
    },
    "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Shares repurchased for tax withholdings on vesting of restricted stock units, shares",
        "label": "[Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation]",
        "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "aehr_ShelfRegistrationAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "ShelfRegistrationAmount",
     "crdr": "debit",
     "presentation": [
      "http://aehr.com/role/ShareholdersEquityDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shelf registration amount"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShortTermInvestments",
     "crdr": "debit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets",
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-term investments",
        "verboseLabel": "Short-term Investments",
        "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r94",
      "r611"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r25",
      "r111",
      "r130",
      "r131",
      "r132",
      "r145",
      "r146",
      "r147",
      "r149",
      "r155",
      "r157",
      "r171",
      "r229",
      "r230",
      "r290",
      "r347",
      "r348",
      "r349",
      "r357",
      "r358",
      "r371",
      "r372",
      "r373",
      "r374",
      "r375",
      "r376",
      "r379",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r399",
      "r462",
      "r463",
      "r464",
      "r473",
      "r527"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://aehr.com/role/RevenueDetails",
      "http://aehr.com/role/SegmentAndConcentrationInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Authority, Name [Axis]"
       }
      }
     },
     "auth_ref": [
      "r194",
      "r195",
      "r476",
      "r477",
      "r478",
      "r532",
      "r533",
      "r534",
      "r535",
      "r537",
      "r541",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r552",
      "r566",
      "r578",
      "r636",
      "r672"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://aehr.com/role/AccumulatedOtherComprehensiveLossDetails",
      "http://aehr.com/role/BorrowingArrangementsDetailsNarrative",
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited",
      "http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited",
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails",
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1",
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetails",
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative",
      "http://aehr.com/role/RevenueDetails",
      "http://aehr.com/role/RevenueDetails1",
      "http://aehr.com/role/RevenueDetails2",
      "http://aehr.com/role/RevenueDetailsNarrative",
      "http://aehr.com/role/SegmentAndConcentrationInformationDetails",
      "http://aehr.com/role/StockBasedCompensationDetails",
      "http://aehr.com/role/StockBasedCompensationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r145",
      "r146",
      "r147",
      "r171",
      "r431",
      "r469",
      "r475",
      "r479",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r487",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r497",
      "r498",
      "r499",
      "r500",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r508",
      "r510",
      "r511",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r527",
      "r579"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED BALANCE SHEETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME (Unaudited)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY (Unaudited)"
       }
      }
     },
     "auth_ref": []
    },
    "srt_StatementScenarioAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementScenarioAxis",
     "presentation": [
      "http://aehr.com/role/RevenueDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement Scenario Axis"
       }
      }
     },
     "auth_ref": [
      "r158",
      "r313",
      "r593",
      "r594",
      "r623"
     ]
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementTable",
     "presentation": [
      "http://aehr.com/role/AccumulatedOtherComprehensiveLossDetails",
      "http://aehr.com/role/BorrowingArrangementsDetailsNarrative",
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited",
      "http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited",
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails",
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1",
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetails",
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative",
      "http://aehr.com/role/RevenueDetails",
      "http://aehr.com/role/RevenueDetails1",
      "http://aehr.com/role/RevenueDetails2",
      "http://aehr.com/role/RevenueDetailsNarrative",
      "http://aehr.com/role/SegmentAndConcentrationInformationDetails",
      "http://aehr.com/role/StockBasedCompensationDetails",
      "http://aehr.com/role/StockBasedCompensationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]",
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed."
       }
      }
     },
     "auth_ref": [
      "r145",
      "r146",
      "r147",
      "r171",
      "r431",
      "r469",
      "r475",
      "r479",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r487",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r497",
      "r498",
      "r499",
      "r500",
      "r502",
      "r503",
      "r504",
      "r505",
      "r506",
      "r508",
      "r510",
      "r511",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r519",
      "r520",
      "r521",
      "r522",
      "r523",
      "r524",
      "r527",
      "r579"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans",
     "presentation": [
      "http://aehr.com/role/StockBasedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee stock purchase plan shares issued",
        "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r57",
      "r58",
      "r89"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited",
     "presentation": [
      "http://aehr.com/role/StockBasedCompensationDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Shares, Forfeited (in thousands)",
        "label": "[Stock Issued During Period, Shares, Restricted Stock Award, Forfeited]",
        "documentation": "Number of shares related to Restricted Stock Award forfeited during the period."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r57",
      "r58",
      "r89"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross",
     "presentation": [
      "http://aehr.com/role/StockBasedCompensationDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards shares issued",
        "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r89"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuance of common stock under employee plans, shares",
        "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r57",
      "r58",
      "r89"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueShareBasedCompensation",
     "crdr": "credit",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Issuance of common stock under employee plans, amount",
        "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": [
      "r42",
      "r57",
      "r58",
      "r89"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 25.0
      }
     },
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets",
      "http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total shareholders' equity",
        "label": "[Stockholders' Equity Attributable to Parent]",
        "periodStartLabel": "Balance, amount",
        "periodEndLabel": "Balance, amount",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r61",
      "r62",
      "r83",
      "r489",
      "r507",
      "r528",
      "r529",
      "r574",
      "r586",
      "r619",
      "r629",
      "r664",
      "r676"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shareholders' equity:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "presentation": [
      "http://aehr.com/role/ShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "SHAREHOLDERS EQUITY",
        "label": "Stockholders' Equity Note Disclosure [Text Block]",
        "documentation": "The entire disclosure for equity."
       }
      }
     },
     "auth_ref": [
      "r88",
      "r142",
      "r276",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r289",
      "r290",
      "r378",
      "r530",
      "r531",
      "r536"
     ]
    },
    "us-gaap_SubsequentEventMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventMember",
     "presentation": [
      "http://aehr.com/role/RevenueDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event",
        "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r396",
      "r400"
     ]
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventTypeAxis",
     "presentation": [
      "http://aehr.com/role/RevenueDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event Type [Axis]",
        "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r396",
      "r400"
     ]
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventTypeDomain",
     "presentation": [
      "http://aehr.com/role/RevenueDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued."
       }
      }
     },
     "auth_ref": [
      "r396",
      "r400"
     ]
    },
    "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SupplementalBalanceSheetDisclosuresTextBlock",
     "presentation": [
      "http://aehr.com/role/BalanceSheetInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "BALANCE SHEET INFORMATION",
        "label": "Supplemental Balance Sheet Disclosures [Text Block]",
        "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity."
       }
      }
     },
     "auth_ref": [
      "r606"
     ]
    },
    "aehr_SystemsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "SystemsMember",
     "presentation": [
      "http://aehr.com/role/RevenueDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Systems [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "aehr_ThirdAmendmentToLoanAndSecurityAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "ThirdAmendmentToLoanAndSecurityAgreementMember",
     "presentation": [
      "http://aehr.com/role/BorrowingArrangementsDetailsNarrative"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Third Amendment to Loan and Security Agreement"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TimingOfTransferOfGoodOrServiceAxis",
     "presentation": [
      "http://aehr.com/role/RevenueDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Timing Of Transfer Of Good Or Service Axis",
        "documentation": "Information by timing of transfer of good or service to customer."
       }
      }
     },
     "auth_ref": [
      "r567",
      "r636"
     ]
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TimingOfTransferOfGoodOrServiceDomain",
     "presentation": [
      "http://aehr.com/role/RevenueDetails2"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time."
       }
      }
     },
     "auth_ref": [
      "r567",
      "r636"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://aehr.com/role/Cover"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TransfersAndServicingOfFinancialInstrumentsTypesOfFinancialInstrumentsDomain",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails",
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Instrument or contract that imposes a contractual obligation to deliver cash or another financial instrument or to exchange other financial instruments on potentially unfavorable terms and conveys a contractual right to receive cash or another financial instrument or to exchange other financial instruments on potentially favorable terms."
       }
      }
     },
     "auth_ref": [
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r205",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r211",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r217",
      "r218",
      "r219",
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r274",
      "r288",
      "r377",
      "r401",
      "r402",
      "r403",
      "r404",
      "r405",
      "r406",
      "r407",
      "r408",
      "r409",
      "r410",
      "r411",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r427",
      "r428",
      "r429",
      "r430",
      "r452",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r625",
      "r626",
      "r627",
      "r628"
     ]
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "US",
     "presentation": [
      "http://aehr.com/role/RevenueDetails",
      "http://aehr.com/role/SegmentAndConcentrationInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "US [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "aehr_USTreasurySecurityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "USTreasurySecurityMember",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "US Treasury Securities"
       }
      }
     },
     "auth_ref": []
    },
    "aehr_UStreasurysecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "UStreasurysecuritiesMember",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "U.S. treasury securities"
       }
      }
     },
     "auth_ref": []
    },
    "aehr_UnitedStateTreasurySecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "UnitedStateTreasurySecuritiesMember",
     "presentation": [
      "http://aehr.com/role/FairValueOfFinancialInstrumentsDetails1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "U S Treasury Securities [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UnrealizedGainLossOnInvestments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UnrealizedGainLossOnInvestments",
     "crdr": "credit",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfShareholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net unrealized loss on investments",
        "documentation": "Amount of unrealized gain (loss) on investment."
       }
      }
     },
     "auth_ref": [
      "r8"
     ]
    },
    "aehr_UnrealizedLossOnInvestmentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://aehr.com/20240229",
     "localname": "UnrealizedLossOnInvestmentsMember",
     "presentation": [
      "http://aehr.com/role/AccumulatedOtherComprehensiveLossDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Unrealized Loss on Investments Net [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://aehr.com/role/OrganizationAndSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Critical Accounting Policies and use of Estimates",
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles."
       }
      }
     },
     "auth_ref": [
      "r35",
      "r36",
      "r37",
      "r103",
      "r104",
      "r106",
      "r107"
     ]
    },
    "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment",
     "presentation": [
      "http://aehr.com/role/NetIncomeLossPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dilutive effect of common equivalent shares outstanding",
        "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation."
       }
      }
     },
     "auth_ref": [
      "r624"
     ]
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited",
      "http://aehr.com/role/NetIncomeLossPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Diluted",
        "label": "[Weighted Average Number of Shares Outstanding, Diluted]",
        "terseLabel": "Denominator: Diluted weighted average shares outstanding",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r161",
      "r166"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesIssuedBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesIssuedBasic",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Basic",
        "label": "[Weighted Average Number of Shares Issued, Basic]",
        "documentation": "This element represents the weighted average total number of shares issued throughout the period including the first (beginning balance outstanding) and last (ending balance outstanding) day of the period before considering any reductions (for instance, shares held in treasury) to arrive at the weighted average number of shares outstanding. Weighted average relates to the portion of time within a reporting period that common shares have been issued and outstanding to the total time in that period. Such concept is used in determining the weighted average number of shares outstanding for purposes of calculating earnings per share (basic)."
       }
      }
     },
     "auth_ref": [
      "r31",
      "r32"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://aehr.com/role/NetIncomeLossPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Denominator: Weighted average shares outstanding",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r160",
      "r166"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasicAbstract",
     "presentation": [
      "http://aehr.com/role/CondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares used in per share calculations:"
       }
      }
     },
     "auth_ref": []
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "940",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a-c)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-12"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c),(3)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "820",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "b",
   "SubTopic": "10",
   "Topic": "280",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.21)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.25)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-13"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "820",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "820",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "825",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.15(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.15)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.17)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "825",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480981/942-825-50-1"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "985",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//205/tableOfContent"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//220/tableOfContent"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//235/tableOfContent"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//275/tableOfContent"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//440/tableOfContent"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//470/tableOfContent"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//505/tableOfContent"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482274/932-235-50-13"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04.10)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04.14)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r99": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r100": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2"
  },
  "r101": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "210",
   "Topic": "946",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-20"
  },
  "r102": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "SubTopic": "210",
   "Topic": "954",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480632/954-210-45-5"
  },
  "r103": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r104": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r105": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r106": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11"
  },
  "r107": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12"
  },
  "r108": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r109": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r110": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//606/tableOfContent"
  },
  "r111": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r112": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7"
  },
  "r113": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r114": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5"
  },
  "r115": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r116": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r117": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r118": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r119": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r120": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r121": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r122": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r123": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r124": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r125": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11"
  },
  "r126": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r127": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r128": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r129": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r130": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r131": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r132": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r133": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r134": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r135": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r136": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r137": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r138": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-2"
  },
  "r139": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r140": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8"
  },
  "r141": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r142": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(e)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r143": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r144": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r145": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r146": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r147": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r148": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r149": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r150": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r151": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r152": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3"
  },
  "r153": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4"
  },
  "r154": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r155": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r156": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8"
  },
  "r157": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5"
  },
  "r159": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//260/tableOfContent"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10"
  },
  "r161": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//280/tableOfContent"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-15"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-21"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-26"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "34",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-34"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(aa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(aaa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-2"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-3"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(aaa)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5A"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-5B"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-11"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-14"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-16"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-5"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-4"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-7"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479106/326-30-50-9"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-3"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "420",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482017/420-10-50-1"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482648/440-10-50-4"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-4"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482425/460-10-50-8"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-14"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-16"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-18"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(A)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(B)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(02)(C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//718/tableOfContent"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.F)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//740/tableOfContent"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-19"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-5"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480237/815-40-50-6"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481839/830-10-45-9"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482014/830-20-35-3"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "230",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-12"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-2"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481444/860-30-45-1"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481420/860-30-50-7"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(4)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-3"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)(7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "50",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481229/860-50-50-4"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "825",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-21"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(5)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(g)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-6"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481058/954-310-45-1"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "440",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "326",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479081/326-30-55-8"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480482/715-20-55-17"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4J"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481175/810-10-55-4K"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-10"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-3"
  },
  "r595": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(1)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r596": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "SubTopic": "825",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B"
  },
  "r597": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "SubTopic": "20",
   "Topic": "842",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r598": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4H",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H"
  },
  "r599": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(a)",
   "Publisher": "SEC"
  },
  "r600": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(1)",
   "Publisher": "SEC"
  },
  "r601": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(2)",
   "Publisher": "SEC"
  },
  "r602": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(b)",
   "Subparagraph": "(3)",
   "Publisher": "SEC"
  },
  "r603": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(i)",
   "Publisher": "SEC"
  },
  "r604": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(ii)",
   "Publisher": "SEC"
  },
  "r605": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "(c)",
   "Subparagraph": "(2)(iii)",
   "Publisher": "SEC"
  },
  "r606": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//210/tableOfContent"
  },
  "r607": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r608": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r609": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r610": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r611": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r612": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r613": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r614": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r615": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r616": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r617": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r618": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8"
  },
  "r619": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r620": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r621": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r622": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r623": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4"
  },
  "r624": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r625": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481800/320-10-50-9"
  },
  "r626": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3"
  },
  "r627": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3"
  },
  "r628": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "321",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479536/321-10-50-3"
  },
  "r629": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r630": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//450/tableOfContent"
  },
  "r631": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r632": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r633": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r634": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r635": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r636": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r637": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r638": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r639": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r640": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r641": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r642": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r643": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r644": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r645": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r646": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r647": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r648": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r649": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r650": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r651": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r652": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r653": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(2)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r654": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r655": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r656": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r657": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r658": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r659": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r660": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r661": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r662": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r663": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r664": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r665": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r666": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1"
  },
  "r667": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r668": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r669": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "912",
   "SubTopic": "730",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1"
  },
  "r670": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r671": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r672": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B"
  },
  "r673": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r674": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r675": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r676": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r677": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r678": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r679": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r680": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r681": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>70
<FILENAME>0001654954-24-004455-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001654954-24-004455-xbrl.zip
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
M+3<E=6;IGRGOAX[_EOCG_P)02P,$%     @ CX.*6,& 1)\,$   \KP  !4
M  !A96AR+3(P,C0P,C(Y7V-A;"YX;6S=76USX[81_MZ9_@?6_9"[F<JR+%]R
M=Y-+AI9H'Z>RJ$KR)>V7#$U!%B84Z8"4;>77=T%2,B42("@* MI,YOP&@,_N
ML]A=+$#HQY]?E[[QC$B$P^#+6>?\XLQ @1?.</#XY6P5M=S(P_C,B&(WF+E^
M&* O9VL4G?W\TU__\N/?6JU?K\<#HQ]ZJR4*8J-'D!NCF?&"XX5!_W3G1C$B
MK5;6^EOZG,_&Y7GW_.+C]O?7;@2]PB#I W_L;/_2A_&,<&YX=.2DZ\55^^)C
M^_+B\FK;:!+.XQ>7(,,EW@+'R(M7Q/6-&8KP8V  <",5Z+-A?N<9_85+ENX3
M04LWH$(9YG-\OAVK%SZM"7Y<Q,8[[[U!'V/8K:$U-:Y7$0Y0%!F3T%]1*-$_
M##OPS@W3]XTQ[1$98Q0A\HQFV7 ^#G[_3/]Y /D,4'00?7Z-\)>S11P_?6ZW
M7UY>SE^ZYR%Y!'DN.NU?[P83;P&X6CB@"O?0V:87':6L7^?3IT_MY*^;IH66
MKP_$WSRCV][ @>81_APECQN$7J)<@6X&LP7]J;5IUJ*_:G4N6]W.^6LT.P-M
M&$:J#Q+Z:(SF!OUZ/[:WSW31@IQ[X;)-_]#NA6"3@#'ILB!H_N6,-FA10BXN
M+S_14?^^TRA>/X%M1GCYY(-P[0.>&,Q0 '8(WT2ACV?4DJ]=G](P62 41]5P
M1$>0CW4$TR&(%RC&GNLW!UXZG!0I)C'\2YU)Y,R=)T02PXSN W<U@YD].T@4
MP3&ER],+E^!V%M &/R/P'>$2'4\PD<&E2S@!WXH6H3\#1V_]L<+Q^G@""HPM
MGT$W6MSXX<L1#9(]9%-I'/+H!OC/Q-K-8#:!8(CG,(&#V/2\<!7$$!)' ,G#
MJ-*W'3)64_PW+B;?7'^%G/D-AE#M8=>W(3"2)-FHA"S8O2G*O)^T@WD(N055
M4A6ZBFY-4:4.8.J^5N$H-&RLCY"0\ 7,P23$#1Z1$%?<3LUG]7*)XV1(,%V8
MA]18(<D5,'N!KDW1%=U:%2AVCZ988"ZOEBN?NB@'HCW9B2F#,*K4E_  39&.
MK6_6\-ZJPK/7K#%7<>C]GBQ6J& @E=!4Y_=JBFE(_0>=PU2](T02ZZB"Q.W4
M6$OHD<Z8=,)X\%V:<-5PCN(CG#)&RHB5QXZ9=9X]=1_\XTJS.Z+D^"\&O]8@
MDG(!,:1"G:5[>#&L-8=I[.W1,PI62 Q;:>.C>/Z'?1\N!DBDKY0H( 9/H*O\
MB""HR9KCG-*;]E'L8O^H[G1O2 72#%U"5?Q<F5 <8VS)\4*0H'JCG 9SYSB@
M.Z=%+6P\!PXG*5H+VHE8;[D8*^U"L+M<E)?-4%Z>!F6W&<KNL5!N"S+UG;!
M5RG5G;HX:PUR_/I*7;CB(TC/S@5]4]UQCI2?"Z(K;WU<#)6>D='\N"@J/1^C
M^7%1"!MZ13<YU3-!HQ'J+!5AI4F)]9:*4=RGU1I%RNI4D'B1OO+7IZ)66G<@
M-G+/]3WJPJ'/ '[>:8]>8Q3,WG8*J1 B!REB'-.&%^E_':/U=G0G]RT],&/!
MBBU>&SL55RGHA(],Y*!? MKM%BI\WW.&?6LXL?KTNXDSL/OF%'ZX-@?FL&<9
MDZ^6-9VD9U V^/W0V\'LTR,PX=Z)$PHY LS)09>Y&STDIUU64>O1=9_H$:1N
M&_EQM/D--85N8@;9+WXSHPA$Z*T(/3VQ&=MW'Y"?//&WK-U>L[8"I'07FEHM
M?*$ISK/K)WM><0]<P1HRM61YQI9 L/NN9#D;,HEGA 02K"]GVR#H$F_'<HI'
MCK(6[6BU3&VTA<$F-OWG)%SRU)PI-3Q$D#PA@.+,>$'T!-B7LXX:^B:+D,13
M1)9V\(RB>&?[M,A6>6L1<KI*R>%)J0\76<$K&B,/@0$]^ A"&&?RES<78>-*
M*1M<.?6A@]I* ,.NN2SLMA)1_@>ERB^32A^=CPAZ<O',>J69)0)_FJQ"!:.A
M4&<1AKY7RE -'>A#7 JO*E,14_\/DM7/<DMZ:WA$PB=$XO7(=Y-U LTRGF@D
MX[HG?B\1-CZJ84-$7'W(R0X'!X\#!$OCY%"_,[^'V4M%9+-3T4V$GD]JZ!$2
M6"-^WESH$-;759&$T5R$C\Z%(D)X$NI#Q "[#]C',4;5\;RLK<J\?.2N:;):
MO2IGM!<RGXXT\V&KGI&?E\NKCRT!3K)"LSHFQ>DBQ(Z\&D,==OA2ZT/0;I#8
M(%Y7LE353X@J>14'8:K$Y->'KSZ:(X VR[9S*GEBM1?B1UX-0I@?OKSZ\)(3
M2"A:"C(@KQ!1 GA/]?_#[DLH@:SN*D21O$I$-47"XNO#V-Z$%F&*TT6((7G%
MBFJ&*L75AYED>2+DQXHMA7B05Z80F"D,X?11?[)K7_KF5\DF3TE;1;7@U+P3
M0!7[B*6-A0Q'7@&%K?1BQ9<EJ3XF1-]H# ,1+HHMA;9OY15.A(E@R:@/"^9L
MAJG KC]R\<P.>NX3CM]N5BA9\;(Z"'$BKQHAS$F%Q!I1PSL[^782:8AB9YY[
M;;JT2%%O("$JY94NQ*D\3$/Z4#RF9[ "-+-<$D!B'.4$@EP,>YB3:(KT%2)2
M7F%#F$AQ/>C#72X_H^\9U4B(JGL*\7:2@@=7-/8:O Y=#/%.4DVH(QZG(4?*
M']O[0@[@9Q4'&,NO3LJ=9NP><IK1>+<S[OO3G<X4O4PI)^&5F(23*7RYLX8@
MG7-C."-K;$YM:&"\VX[^7L4ISEM"3QZ3<,Z+"SN-U 2UI'IP ]..WE-"7"_^
M!<>+WBJ*(2 3Z]7S5_02/+JY"/_/N+G+08.I/=U9PE(AW!VL(7WB7R^,(*W*
M1.$MWG::J3W;64U-J50E2F^IKB%GQ[EXA:]B4S7N($+T.DP(M7U0JQ\FIVXR
M3+R)S^VF]E0JDX7"1!>079\I/4$^#/=XBP(0SP?0YFR) QS%Z4LXE9R)]E=[
MJE64O'K:T(?%K7QO*V !)Y%OK/9,*P?_'D-E[OS@!8>\C1=Q@=BFJ4\$>A-B
MD[_@8 60WU+P:S0/"<J] VZ]PIP!->/ )6L;5)4<*:.93YA,,3N($4$1]U2\
MQ(>J/;5Z GVRK*S$'K7Q8AL94HS9?*AX<X+50^VYU],37*4[?5A.RK8@6[AK
MDI691E4_Q2=K%<QI(47J0_S.R]1LGO>:*3[Q6@JZ,/?D4Z\-BULA,CN[AER9
M6YQB=E!\6E:<6::PW!1-:16X]N7LN8KIAT,JICWG;C2VOD([^YMEV$/XV5)=
M.RT1O'KGE-OI_\MMRIM; IK?FVGELU$;K\?::[X!MXX?@_3\J;>>$C>(7"^[
MB##Y*=7ZK8L#*IE)< 3NO;\B]$Y"1' XJS;)DSQ<;96VOL&<D!']S? ^(,CU
M\9]H]C7TZ3;"1CHGF" /1$LV/H]I>\V?J+:<>SR#.Y;NM=U1KOLY*+E4XOM#
M4HG)5Q,R"6?0M\:3[PSK7_?V]-\[J822[6;.1Z7D!/[AH-S)G'PU;@;.+\IW
MF\$FJ9PC$CYCT-OU^AXT8@?;ZI$)CO2YXO!UG3$4O00/*3P_F<JW49M)U6>D
M^!+\GKCZA+/$FS _G*+L[J#R]FISE\84\=6@#UU]!+'/PVZ63)G+D,39M=ML
MSKB=U.8 C8D34(@^[-&7?E&"- ?3F?=QE+ZJ#0*,"%KBU3(2NLCKT/'4[@0W
MYKR9&C7:U.->OY$7KKHR7WLDM;O-C6W@4-7IXPP2V>G'X<)RN1^N'N+YRM_<
MV<!-BSB]U.ZX'R-1JE2)/@3"VI-0X^NC]*L=%*_$X];D!7JKW21O3&@=%6GD
MEXNP-_?M<9==%=W4[H=+X+)$*5J3F%W)MWG?NO1JOCKLBHVG>%-< N]U]*BU
M0>Q=D72(L]YV5;])+LM5[VE'\P"\=ZM234X+O=7OD$N@E:$CG9G=NR2C#JV%
MKHHOGI+ *4,[.A/*N)>F#K',(13?7"6!X IMZ4QTYF]R)Z\."[>L011?DB7/
M0[,UI@_=#.G3LENSW:K2,904:MQU^EG!H>G]L<($,2\UYI1M:HRA^$JQ^I3N
M5W%JZTNC10)@]1":)<=()ZY/5S5W;DR/$*R=>;*^$:K,UQQ&\1UES2D_1&OZ
M>+&"Q8IQS.VE^+JSX\]BO;=2&/)FGR?;*!"5CJ':-]E1M**73"1GBS>W78GY
M(T97Q=>LU2>0XX.XVM'/[XQ1<NG.-(1DCUY)L$A/L=V$I.[QC,-'5'RY6W/Z
M&^I2(U]69LEV ,*[_FCUX&//F<-R'X2J-]\90RB^04[*O.=J2Y_Y3P7?^ZBY
M,<18@CVPX.RCZ'9_D6N9'F$MKAZS6TRL5V]!/UQY#+/! @UXG-7)J7$HONE.
MC=J+;UO4K1L<?JN7Q+<&--8E+]D]7)<2#\1KK$N>/];&GZ:".?.\L$[02*UL
MIRGE88KOZ-/" B6RJ,,+'@YY=(/L<!J]"!$_!GB./5H:2S=<Z>LI(>0M^2F6
M>[_A(_VL9AQY?ABM"((?G/&M.;3_DUR69YC#OC&Q;X?VC=TSAU/#[/6<^^'4
M'MX:(V=@]VQK(N7EC1L7D^2R96>>N0K7MP.@8[5;,<@)\FE?D!O3'AO?S,&]
M15_)N+&'YK!GFP/#'DZFX_OD70TIV//W->Y\XG4!<^=B'_/.M8R ],89WR5,
M2$&ZW1(HP];9QY:] CPU?Y6CMI"0\(6&!$+H/&41W;DL*,T9CYU?J$V:X[$Y
MO+7D<4O7_SBM6J6?RDZG%PH8DZO3W8<*&KRSI^E[0G1N]9QD,EE#:3.I^'Y7
M&="K?:#Y5[:R-[:DP./>_KSSCDL.[8=]M."6[N_N!\F;6,[TJS7>>WM]X$SD
M:'=L?;.&]U89R._W06[;RF"95J38Q8@<K!\*3$^=WC];UV;Z2MO="%0FS^/L
MO!0.$3ZQSC*8A; T3/QA>@D!I?.],0*:$S.5HU'T2*=Y.LL]%,3IQ1\5#KT0
MA";6+9WMF\G>@^_3>VBE._<ZB0$G0;@LQ*BZ"8+Q;C.\G!<]ZP@ZI?O>I6(6
MPEU],=/!Y0A9D1"QY2I$2X&T2*XHC/R(+4(ABC*S)+G *V,56X1"?!6)6'*E
MR0YWL3$7HFP6P.3"2B+9PWXD8Z,LA-DDGA7#F5S4I7&-#;H0A#G13;*Z*\,<
M6XI"C!8*=G+EJ1,,^O0#*_Q2T0IQO'XTR$;71LRA2]([;TOD[1XAR&>/,;;/
M41((V9QV"Q%>*!)*I5%,F$Z9-(?%]0U)'97R<"VQ$.QKR279^!BI"\?H"H&?
MD[M(-34^]%(3*R0 U=AE&18?_649^D)B((#^4@7Z;AGZ0H8@@+XK!WWNX+#(
M!"YD!6]UPQ.&B=)JH@C\0N0OKRZ>3)!B_4Y BJM"/"^IYYU,A,IU$]M_7A6"
MMMC"2:HKS59.'-2%X+Q=.IT06)E/ORJ$UWUDLCSX+K8RCWU5B)4%;)+\\RXV
M[L1B+XI/Y0]**[T<6RQ?()<4?"4;)Q=XJ:T*EZJE&R\7.]=>BFOD2ADD&U!I
MJ8)C/X6 R*U5R#6ARF(%6XX/Q9 H5JW8E2C;UJ?_T"+53_\%4$L#!!0    (
M (^#BEAQKUNRDQL  #.I 0 5    865H<BTR,#(T,#(R.5]D968N>&UL[5U;
M<]LXEG[?JOT/'._#=%>M[=A.NI/49*9HF7948XL>24YF]B5%DY#$"46Z =*Q
MYM<OP(M$\0* -X%PV-75;4D ^)WS'1[<#G#^\K>7M:,\ XALS_UT=';RYD@!
MKNE9MKO\=!2@8P.9MGVD(-]P+</Q7/#I: /0T=_^^M__]9<_'1__\W)ZJUQY
M9K &KJ^,(#!\8"D_;'^ED)_N#.0#>'P<E_X2/>>C<GYR<?+F_?;[2P/A6IX;
MUL$_GFU_N<+M*=Y",4G+8=4W;T_?O#\]?W/^=EMHYBW\'P8$B@'-E>T#TP^@
MX2@60/;253!P)1+HHZ+^V52N5@9<&T\0K V7"*6HS_[)MJV1][2!]G+E*[^8
MORKD,<KX>*+-E<L V2Y 2)EY3D"@H/]5QJYYHJB.HTQ)#:1, 0+P&5AQ<X[M
M?O](_O.(Y5.PHEWT\079GXY6OO_T\?3TQX\?)S\N3CRXQ/*\.3O]Y]WMS%QA
M7,>V2Q1N@J.D%FFEJ-[9AP\?3L-?DZ*YDB^/T$F><7&:P-FVC'^U_&V%=.%W
MI]&/N"BR/Z(0V:UGACQP/$$I+4$^'2?%CLE7QV?GQQ=G)R_(.L**4Y1(==!S
MP!0L%/+_A^EX^TP#K.")Z:U/R0^G(P^;+\885EE!L/AT1 H<$^[>G)]_(*W^
MSUXA?_.$S1C9ZR<'Z^&TQA-="[C89/$?R'-LBQC]I>$0QF8K 'S$AL/;0O=8
M[_&;X_HKX-NFX30'7MA<)U+,?/Q?XG>0OM"?  P-$SVX1F!A)V#5$H6SS<[E
M&7EK[*%6N(S]#+";\=:@/<%X&N]<PAEVPV#E.1;N$[0_ MO?M"<@1]O=,VB@
MU;7C_6C1(,N;;"J-#I>&:_\GM';5M6:XW[07^ 5V?=4TO<#U<>]YCR&9-F#Z
MMCIM-<5_;=CPB^$$0%]<V[A7-VW#&>,^%(;C$B9DSNI-4:;]Y-A=>'@80I3$
M0L>HUA15Y #FQ@L+1ZY@8WUX$'H_L#FH$!KN$G!Q1:W4_*U>KVT_;!*;+GX/
MB;'B\3"'V7-4;8HN[]98H,IK-,6"W^5@'3C$1>FXMX=[?<JMAYCZXFZ@*=*I
M]D6;/&@L/)EBC;GR/?-[.*\A@F&IN%YU>JVFF";$?Y!WF*CW'L#0.EB0J)4:
M:PDLR1L3O3 F_BL:<%5PCOPM'+*/[**O;+O/K/+LN?'HM"O-?HL=]_]\\"LU
MTM%8@ \I5^7./3P?UHK--/;VX!FX >##5EBX%<__F/7A?(!XZG;2"_#!XZC:
M?8_ J<F*[1S2FUX!W["=5MUIIDD!TDP,2%3\S!Q0M-%VQ_T%)T'56CD,YK-V
M0)\=%C6W\=1LKJ/>FM-.^&IWBY%I%YS5NT5YW@SE^6%07C1#>=$6RNV"3'4G
MS%&UD]6=JC@K-=+^^DI5N/PM=#XZY_1-5=MI:7S.B:ZX=+L8F)ZQI'B[*)B>
MKZ1XNRBX#9U1K9O5,TZCX:K<*4*F2?'5[A0COT^KU$HGLU-.XGGJ=C\_Y;72
MJ@V5(S>@F8 O*IK&41*3D81ZD&",=R&\%6X"FL$C.+;L->D-R$)J_*"T=K:M
MV*Y_BHN>QF5."QOH&O7V4<>6MS;LBI#SM3O'&S[G> W6CR0\I1+8_:I=(S4<
MIQJ^L$+7J%S/5ZL"2^H<T!;!P@@<O[8Q)M73B/&7MFL3-W&+/^ZA!B\^<*U=
M< !ICB=VRK=]4O!-],^9<KP+[#M6PI+*O;$$2GIO)4248'(\<P^(0X+%/)C7
M'TH$1\ \67K/IQ:P24C?!?F#N,F+2(/ _A8^5WW$,WS#]).6'.,1.&'[WW"9
M6(A8.Z<%ZNE ;]SQ6RFEGF,];N,YB$[UR94VF6E7Y*^9?CN^4N?XPZ5ZJTY&
MFC+[K&GS63>TUXOB2LER44<6Y9>]=G\]F&R\85TI =_R"3B;X__=:1,LG'ZM
MZ/?:5)V/<0'EEVWKOS9]2Q8&>@Q]1(".EX;Q%+TJP/%1\LWNG8F_^+:%CG4)
MQOA/5/#RQ(6+RIZ*Q!PNS7/@C<OM8]V9D0KW46/7FC0:>UG.;BRJLX#>FJFW
M^'D>%; '+0 _'>&NX@VN$?8;'TW/];&9:TY8$/<]T?AP][OC8:/^=.3#("=R
M WH0]%/4X$\[6O"';_?0LP+3U^$,P&?;!.J+761(N&AQR2ZI*1QALJC:,ZV$
MIE+X6Z(.KG$21!1#05?Q:)2B]J+B7>H^/U3.*KY4IV6J+Q(AUO^%A/K_=I8#
MW1D%R0"Q PY",6(:WG)X*Q']1@S^+IX*E74;F6*=<K,_.2OGI=S,,EU(!GSB
MF,X$]=019);&,\7DTG@&?*+Q<S$:CQ=<$64J%!?-EQ2H]ZHCI3SX6.^"##W&
M<XT%(B&]!-)7VU^- N1[:P"U%],)R-$R%2& _[52T=&ES%1K3#[RJLF7O%=B
M^!UYR-<7,7#VNU527"*.2B1(!EH]8(%3^_)J?3>>$J/M&TBV1Z"WL"F6OE=(
M(DWOX8[U_$Z,GN.%)G>IO9!M,YZ^FU)%(@XH4L2,_":J-T> G!''0\ K_"XZ
MWA,1)T9)Z[>IU21BAB%)S,[OHB85#FYN>0-<;#X.AJA::ZQ*Y$<[S$R:>.M+
MQ!>O2#%Q[WOBZ"HX.*GH*$ ?:_Z#8,WOXAXX=)\N+*/VT_B3Z6&;*X05"!B[
M/H  Q7$GL5E, *6++Z\A$17E0B1\")JOAS&,$\_U]FV%V7>PZDG$#4N4A"%!
M,^[=RYNL$]AN@%'NMF4OP<*#(!6AK+W@_@[#MET#;D+1L7AD!1JKSPD%C*R1
M]M)U^%");*-3/22&)6@188LYMO1+/&BB3G%+*TA':($,"1F"UACV0C'+*<@4
MDTCQ&>2)N@4M-6@&=/&[N UZ9:\TE->0B(1R(1(^!"TT9(%=&L@V^<F(BTO,
M1"Q!0H.@%84LJBO;"5+A7FPBMA4DIF(K0T*&H%6"KX!<D@@L]1F/-99@$A!Q
MX[NZD![XX163&'AH.FP'5K,YB8BL*6%"LZ E"2KJ,4(!B32E>D/^%EX+F7M"
M=1%SUIR_V(ODC*\RC>4-R<]FN6RY>!V!<>J5KX),146_JQ,5/=+O[J?:9UQN
M_$53QA/\6=N+CQ81!LYS1V1*\-_J"#[[K&*Y]=LK;3K[LZ+]XV$\_]<0&#X$
MALL0&%Z'GN@](C[%<\.+$(NCQ;/"%U>3(W2<3Q;!?7H&5&D\<S*#*"XN-IZ<
M3]'%,Z)B>;H(+C\P*7T(,F^;&!DBSLEEKYX;GHQGQ4 7%!4_T*7:7BYV+2>
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
M'23**LF_1[DN*)>^CI* ;WM)T,&1%P:!Y-+8L:&3T(^#@S\O I]+;\<!_EP
M^(LB\+D\=QS@+SH!OTUMS7?+;RZWW2[9=<D-OETHO"@%-@_Z7/ZZXI38PTW$
M0\#3$/ T!#P- 4]#P--/'_!4LJFB0WN)Q__.K6>$Z0/B0P;J$H+PH=1]%=[*
MXN=H[,TL7EDZN2YX1HX76"I^CA4Z1J\6'95;D8&7RD(E!+6Z;7YM0^0WY:=J
M(S+04U6FA)U6=]WG*QLV?GNJ-B(#.U5E2M@1M*1/QN[Z(KIT^MH@QZW\S9WQ
M8J^#]7:N.#*>\"_^AK+I6*D5\33R[T96$DSL-O$5>/1WZXEC/(Z! /E3$GH
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
MR?N91PYWO&IXZL?T7S0\3W7)7L;O_J4DEQ7:#$S( **BC.6>E]@%5F+8S#O
MQVN6Q_N5=\=+CYSZ;-12UU$D"Y!G?(,*\U.=06]J0M!A*[!UHW_N<BL)A)6^
MU7K"XB_O_*^<7/1_ND2H6U!(*"E:VDG#SU9RC1KL? LZ/:V!K%VP<@]FR0JL
M<CJ;+MB^C6##>7]LCU2%?;)(IZ4O<79:![%SJ*&I869HU!OW584NR%5^ U#3
M@\RR^Z,W,'K]Z 5?(_G[OC4J6J[Y<J%S;O=6Y!.G#$YM$[);R"/MEF=NL?X%
M?+Q?_;8VZ 8O=CI(6>F30C:R/QR^X%7_G9\]X;K SO4;2]\AIF<70TJ?HNE8
MS-)60TLK;+T_[4-EKQV)"'XJ_@KML3'@D&Y2>!S:?P$PLZ0GDSHNHN/&O"VC
MXU_9*?S$[B.#<A+SX!F[752M;6Z)E!Z_MR&!"3L?-9":'YVZ(O_T]C1*Z#$(
MZ8Y%^=*:H<\/%K:YR1ZU;[D>*FR8/@?GF9XN\RE-9RYGKBKN.<N9OL/61H/I
M;&9"',KE2UB]PYY]D73&,/TF/2=-GV\,Z+\L,J/ND@^#S:'ME*HN'+95P*O^
MD%;YH%5. %(/#2<F' W*8)0]T /)Z^::^72+=KA/N##9QE]LR2SV#Q&IA!KJ
MF"4!/$\O@3C;&1Z/)Q,3MK&E@58>P,@I NC;9+,E4]7M;%A6B&B)<IC(RPF1
M13:$(ES0QQ!MW?TV:CY3Z6I,:;Z'$XI;2O[0P1+;C9L[<\>$&T_G*$--)A-F
MD\8Z95K 3HSJ/L-//8=[A ?^)_+8Q\K!GLPBBE"<KX;DZ6G>:6QK,PK/W3L6
ML7"BWM(&6Y)CH+8)-U5.0U]A=$Z!D/KH?'K$/ B)_>O N=[C?T#R"=TWL[*G
MT#\&X6VPW\3.WL/]DO9I_B);H*)T=Z(1>FF_@BN?9)J<SC8Z@Z3;(Q6_;&\G
MNGCIPY0UDPTO$$/2#VX1^V]N29C$Y#5L0K0QH(Z([8N5IZ6\-KLT/[2'1G@$
M77%7]L!I8O*(9";/K=7IV$@]8,^%&]<S8MU>+7+:*Y^0A=PWLELH75MUJCHY
MRR^*F*U5O>1ZL]-')JS%VB.N\5.I/-EX2A2TG,E42T)<;1_SW$6U,YY0@1W(
M;D;S@:JC8XF3FQ:(*Z$Z1T'CAHF:=FI3<+T#P\DDZYN0SDH29N6X*-4#WZ>:
M/Y"I*J>LYSYYM3QX_;V#KGV+'!2&R$X6+'AA3N.!Z8)&L@%E++&%T&8PW5S\
MA8U3AH_V1:FZU-1"NM7+G)(D\2H-=H[-6,F=1HBS5*3><4H#__LF''J?BE]V
MR$L[0F*.]@/VPA^S:,HXF+IKC_#0WHM-E-AQT'P,-ZI.7#N-;D+47#=VQZ2-
M&Z\X#=>V%LQ81IW,OK[9BZ<*5-EA)*-A8L&@82/<(_O^N-T@W78E/1;,8&\&
MR/3!0PB\[K@&RV>.D(GC!Z<%.]2%]E'DG&3LFY#MNQW:%L,)967.B.ZHO&I!
M4T_L">%5(S?%@82>3DYR"B$F9$F)'0CW9P,CTGBVA%L-UF#"(&32QM&N>+B9
M]I"#=&UP]8TX6ZDOE.312E&9M?-DLAF;<";=$7;E]?72X7/N(,4XIB:C.(L@
M?8;OJ,LB@&?!@(F<7S"I^;RJ3IM^;-O(-B$DN#/PZB8^"^8E"LWKU NVI/Q-
MG[J&E-=F>X]3U.NK>F<L#F+HB58*7<'7OCHM$X[]S=S@.[G"S+RQ=P8&]U5E
M"Q*-0ETPUUX/HM?R'G.L_9Y8PJN-'\!Q4CU:T[W>X)2;Q6&>X0JJT)!V0DL4
M4X+8 BLL.& XM1T3SC%/Q=]T!=5-#>F_@IKDNWT.%M;?]VZ(<)EQ[XL/C[@
M\<*W2=:"'1&IC?:3UJ;U8_6&T+[X%>/V6;';PJ^<7B;IKR,2CKI+;-"C&Y0:
MT!V!VKJ9.U>5CM352M@[,.'=XRZ8>2FIZ3V_Q Q([5P!:NF*TC<SIGOVS:>&
M74./'+-^AO$^Q.OSE4//1YMOP[2TH33&NGWA2D'7\@:2K)JS(32"S]VAB]/]
M;ID5EPW*4NG)5 Y432TJD$\.H"?P\J]FGS"5<@$+)\^SI9$[_XPI,< (533.
MBJ>2S8B$FW(HI>:ZG*:>@W'Y]<5IJRMV#[8_AHZJ.(>N&U^-X*4VOK[?IUL(
M=2NL;V8'X>2J,W/'X Q<-N+1]BZ8VVZ!9<;,WP+[Z/K0M\ZP!28TI)W0$L64
M(+; 2G(_!D[F)@22G(J_:0O,20T9E#(FOQA)D](6\ME*+&(X>GI6D\)"\%:0
MM4JL<3?]^=R$H]"6<,4K1;?-N[ &,O2./)D!O>*+.2TJCJ.OE['"0C4QMU:9
MQ7&,'7MBQ&JF&^R.3#[+TUU&3+FG3;7) ]$]>Z)J[ZOK>J@1?,OU4-UT^\VX
MDR=7G9GNXQFX/# X)$"(N>UZ*#-FT'IHB4=2*UXYRW>+IE=X@C%:^:00Y/_)
MV<D;]-ACHNF+M^0/"]\N_B(GR:GABWQ)79>X8$7E^\X%/I/DUAK,C(A9O7@!
MR[V2?9 X"2CY) CQ-X&5I!/!#@:9<Z[8S(..9NGI8>ZA9_)W+9[%297#GJ6K
MQETFB8SSS<!JJHZ5:A&PR,^YM>DYIG@X.BN DXP\N>-BY^^XG(/(2J8=/936
MVJ@J)ZO_DB/&T(18 %WEKOBB-W0HH-YH[@M7X/AQP$3(X%#Z95&#H0(UU^KR
M"?%3<("@ PR>GH/)L_MDISLGP]YLHBPHE#WJM(YA&%]L2BN6JFZ?7&X:N@(;
M].+Z/F$0B3NDT+_EN>D2E?W-S!P7ZCPF1%.?J1@7&Z;_>ZA-JAF78#I6]7R
MU/MY9RS3*0,M(MFH#!EBD]0>>-1_##S7DGA41J"@---[ ^Q2-G>.- LFG%I(
MV1:^:&B3Q5FY-OST:?%P]Q^+Y[O5 U@\W(+UW:>'NX]W-XN'9["XN5E]>7B^
M>_@$'E?W=S=WR[66$>K#/G)]%$6W*+)"=Y>^LU I\C-ZCS]XG)/EUD98D*\]
M&$*#'CL[L127:WXE0TYG(IQ:BRH'*(UL-\%)ZXZ\\H9M8@GD3-%I]6@,I-;
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
M>&8-=*;J:4;&'2T6IJT7'E%(?@%?4)_#;;&*QA5##73ADB$GGQRG3! R<LW
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
M8T&0L]D0FG#+MCWBRB1'+("""<!L@-0((%8N,FK=L,0Y^)MT.>HQS,>KOOQ
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
MUXY*?B!$4S."X5] ]KUC!\O[T$WSD=;00>ML?(#;'#7Y?/8Y3;#&FKXOT&-
MOC-,9_ 954^MNN7A#(N\',?N*(JQ+('9D(\(8_> @V7OFEV+SR^9(\8G]RE8
M?S#?CZ-G&J5V=(D:IELD'_ZJRU'X.MLC6-OST-M?T'L=B4M-F6@L<Z,Q!=I%
MB9SO[A4>L9JVARV82*IP(&D5D(M2<HR_W2,SN%W#QVI2'C5AHJ7*@9:54"Y*
MS.M-3##<!HD+UW]',)Z$'O'TI!S^U-9,)-8XD+@)((>3=OD,U^O<B;7NG#UJ
MR$1CG=LI6PF+!WF?T'I-9&D8UMYBA^V8B&OP(VX%* ZTG3RC^#$('[_$T??T
MB8'(E Y,U#:Y4;L6)@_9;'N(+=!+%)/W&^*UN*D].F@]F AO\9/4:H%R$=BP
MHAM$7NVU2&G*1&N;HPA7"8W#\KX-UBB^QG-XC.+:T^2H(9O:P4^WJ\3%91%O
MQ9\MOV_Q9Y2SHZ8Y&ZUYZ'B-&#E2G B<S/0N-&:C-D_UCX*/Q^48/3]'869&
MS2R2R7R39D%R^/ZHO2)K^[%Q@(?2R(Z:TU$^VSP[>T,G[1S/6[$1FH?J2$/$
M@:S$[AYCF2BC2Q:S<DU<>6*\#+Q::VA#1S;B\],IF7!SX,<*ODT]###SK")S
M:U[SU"YL/."G>C9@Y4#]L>=A*B6[?^Z"$,EUE*]LSD9U?BIH#49^%+_&/\[C
M5?0]9*!WL3$;M?GIG51\_&B=G7;S^#Z.7H-M_'D3P4L]V*C.0P-E0<J/]/<1
MEJ36_Q6\--VNU>W9GF[XJ:5U*"_[^$ F$R-()_-A"S;"\M!!JY!<E)0D<<3Z
M_BD*:Z7O<BLVDO)0-&F(+DK6)7(W,>:MK#@KXK!13=9R*S:R\M >:8@N2M95
M#(F>NGQ_=J)U-4V/FK 1E(>66(F%RR*=O+E/Q(F7[B%3W9*-MCR4P#ID7*QZ
M?]W .$7Q^GW[0E%OU2LU9B,T#TVO 1\?3YD8ADE J,-"[')K-FKST/":$'(Q
M,&&VX]D&K^@&IG#W#E=O6:KNP49V?JI>/=(2Z?_]<PD'5L;_.(M[*'/2JH+O
MJ#+Z-/I(8D-<1^>SF\EL.;DA/RWG=].;\0K_<C6^&\^N)Z/EU\EDM3S5D]2'
MB9,Q:)-\>H3P9;NTT#I-\D_V:VSW ?B89"&T#*L@V?*O<3G==6?I#2S7\/T>
M-DT7>.,DP1QJ!G+8#B#)L6R_:=>4UF:_>Z<+C0]W5SVXO0,H/\[L]CDK@XZ:
M ]O79!V*P2<*E6LX0D.S=R/EP1B2;XOXY^-_2##7*UPCDMTGO89Q_(Y%ZBP0
ME<XHINX VKJO-MI[+\DX&C,J^=<.Y-Z5E0<_ET]8AEFA^'D:OJ(D/<@<57&B
M5[0&ON9[IC98;M5BVCO!<CD%M\'_R0*Y""\C9XUFJ.X4K&H.?,^13*%.P5;L
MJ0>U=Z#EP1^R8D(\['LM6XJM@"PAV3(&RXU*+'M'6QY,N(_1"PR\R1N)PT/X
MW,UB=@^PT7G#T!G(M@71<%G6!N+>B9>[T,<H[ '9A[Y2TA\&PYUJ,'N?7@S$
M1_B/WMV6#M2)9K-,HQ2NLY:\]F+T@N+T_7X-LS!.(OZ\D!NU]H"LZP444_-D
M092M3KN/ =O>K9@'TW8YG</'.P03E.5BG_L/^*@@:.E<J^T&?&A(R!HLV]C
M%;R5N3!N?Y#/HM!M.C<KFP-),3ROI'P,AU&UH HNSOPNM*:;#"B>"8WALN (
M1<'1>5B7UUT G6 =I $BV8HS+]V#M#7-9BC6$0"RH3Y@ T=KG 77:\Z<938I
MTOL "^K0$T0A:,V*)H;2P!:<NGF:0N[A.[$!-"L)E>V!XD+#%T0L82!ZK46$
M JW@ ,Z)4?$&G_@E<+6\JNX"%"A+EB"FQ1/8U8"NX"[.7_[/Y_G>R+;Z?D!R
M+,D01''KRCM&B 7/<QX,O-E)6;L$9(V,JVX/5$GU'&_8#&N 5G!:%T,.:2-_
M -F#OEPR$@R+036P"K[MPU(<**<$DT[>U!5 W];*0M>PF,Z.LN!H+\!)RL)!
M:A?@:E#3G&%SKAE=P8.?FPVL@*[!_%5H"4QH6?K0!10:J$(4 .>;CNF* [;F
MR.4U-"QF5.$IA T,ZU)CJ-U5X=Y#[P14%>E222D=%H=9\!7B&K@X]'2P6]:8
MC0S)PC?SL+G& *\0,,')AV%[-&13;?"AJV@,9%N274'L6@SDICR5TG$5XBQX
M'8:[Q!U-#HY'+8'DF,@71'[ORADJJ$) !A=;H^=ECLYP?0\#;QI>PY<@A57!
M:;DMKKH#\ W/5 :^?9JP%:(X.-F%Z445]BG*9RB=^X5ZJI76XC8# 46V=;VD
M3PZ,MQTQYSQO;5)Y1;$3856=G_RY()G>0^1-8!QB(2LID  KI8$;U,@SS7T!
ME'U-%T2NZ;HJ6L#,G<PYV57*"-L(HT#6%4\;^/%< RMGCCPT';'I\;F[IP0)
MD'$U0=[8N[*<&62^ 'IPF1$I]/$^(^X32@-W+Y05XR#5+G&0HY\/QOW3CQH7
MZ>NN6@K;X*&.SB),\%8ZZ;X'L$Q7<01YLVI%=P85M0(FWZC)P^EM4TR.-^E3
M% ?_VN_I)NX=]P.&B3118E;ZYB$5+-\PRZI)3I-DTY:+VSY -F1=+RGI/Q('
MCX#R#:JLFF!]@ML:9(6.P)1TT_U!3U,Z6KY!F 7C%S[NYW&&V\N._;R>&I,Y
MD-:9.*<@Z8=A:AO$?*,W2]F86:[*FD[ @)ZA_3"G+ M2OI&?I1DVW9"4#D"!
MDJP)$B)]!L8=H>0;Y-DR\SL-4_&>4#09.L)8>'MG7Q74?8"H$&K_!^ID[N^<
MO?!?'T*X\8)T/VQ1]]?8=/_E"O_S;3+#>O_\=C2_GRS&JREN,/KY8W0N%H"M
MT?T#0+/23^D ;.2X!J<;\&,V*Q)(P&"PR-H!0]&0*(YM362EV&(K\7R$<W*S
MDN^FA?<GFN(?ZS*QE-H"U;4T5[1;[)#"]=PH0_EP!^V5)4F<%MB!?]NS O]"
M@MB]C9MBT17%KX&+QF]!%2-PTZJ60,8Z*!1-"JQC0Q.0<_CDLK$@,YMO9Y3<
M1,\PJ$IAOY]^N3G0'--W>9NNF@A,8T<-'LY^TKL)?D.4M-4?"GZA&;!M0Q*(
M%S74I5@KJL!P=G_> 6ABQ$$SX.F&Z_*6E[LSHAH,9X?GG8,\0S+)XY; U'7-
M%<85@7H75_*""H;O0\AN6K<8'G'2)3/[/4B?KC=)BJ7%>/+FKC=$GR*Q[_A_
M7JW#48?!@.$IFBC/UU0>U7&T$UK.J2FC!&O=N_DW[\/*Y@#:*C0$V8SM&%>/
MA^^#R,'<&%D"'%-5'4'2HM03MYD?'V#XOF5\B:,DP=>N7^<]5V@$#$<S[=)^
M'@P/JJ#L'QV&Y6SU$42YR^3'(&I0NP#3EBVUL8R$L'QM!L;W96*!Z8AI0+(
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
M-J;7] +0\2Q?D!Q]9S\BJH 7\O<-[5!@IU<?(@7P5"B;@M1#['NI="!#Y]R
M@DJDMT$(0[<?B;1F+(!4U3 %46@NM(Q8R,$Y%6'Q/LPC^@ZB^=B$BLJN0#5\
M$PKRG'$"BQH%B7KT.8<Y62A%REKDF)XH68MZ7P^G$B5?)I=/:W260V1*\F[
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
M"=_-Z95*^-7N>W=OEN\-9*]N#GS3M'5!1,@+R2&-M,@9QLDG,I>$&WSV"ZT
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
M464S+[=:K<LWNB6+][[96MB#E5*I?/GOQX>!,B%37-0,V\&&0I;?@HG_N7T
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
M,'UWG&65>G")9%EEVH;GF^9*39AZ32A4AWJI"5,NGP3K%"WE4\KETUG;69^
M)RF?Q)9/9\33^WV@J0=7GBQUP7R@QR$M]6I1)*3%KR//WLMC@:YGXF#-(&H'
M6X9FO B>W3=8-*7O_.7"O&AW5M. 7S<R>,,7%5,H/O8;Q(KB-2TEZK:6M)D@
MVL'K3"L=556CD@?K3UA3N\8MGFD.UK-!NUUK2RF]8*U3TQ@XIO)G)FC$K4=T
MNNPXU4GME8D#UB[22K47H]I+!0"DOLP'H:6B31-!ETG<Y7*Q6A*@/]U:5C2;
M5&0FH?\^:6Y$F+<>+X6DU9#,83EV.DKEGRIZ21TN!ET\-=\42RU?K><-1+5(
MJ98C]MG$1R&IEI/T8<=(1ZF64T4OJ9;/3)>M\7T15/3[8M)Q9L1+W7[6=(-D
M2"N-@N0\_&("0%H3^2"T-$/21- MM7ZD)GZ_LR?>:DQ2H2;E_(Z9CE(OIHI>
M4KV)4<0J['ZBU%Z9N"JXB[12[25UCA05 %)?YH/04M&FB:"^M501,5.L$G'<
MO2(SQ2(V#N.FD+0:DCDLQTY'J?Q312^IP\6@2U68,/2Z1R#2? CI!8C!9Q,K
MA:1:3LR''2\=I5I.%;VD6CXS7794FY7:*Q.%7W>15JJ]Y'S88@) ZLM\$%HJ
MVC01=.G$8)%JL0[+E8C3&BHRX2MRGTV\%))60U(^[)CI*)5_JN@E=?B9Z7*
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
MHCN0%YV@;C4+Y:O]EKP(P!-:5J^5,GCHMK]V'[K#;F> VKT[-/BU_=SYM?\
M(!KX+650YQ_?N\/?1"MW(.SY.6O+S>/(>2*Q^,)J4>-!U_!(TUFA>E$*/4B(
M9GZC)8F%DT+GO<4WPW-ZCT>$74M-L8$*EU:PV,XG;S>32?^Z*K0:XH5UA1I9
M4/QPR0%'X"?",VBA4MKO^Q!:=I[%@@-B62Y9W>40%/O"J/;W\TO8U6=*@H>5
M#9V,R*T6*LV&<"R3TY%CAUW8_><C8!>=I+XZR%DHM*0^3]A_(X$K<.8N('M9
M9$@0/&>7DZI\3'\MB6;!4/.$#.>*>%=8<SIR[,CCP_+'(R_"8A95\:P'\0WN
M.S(F%NW;:I%78KA$7-DM4V$HSW'!_ 4!GSWZ)23EF\<']F4*5YYQRZ4"'(';
M*&]K-"N55"!7Z - V*WH@/TO%O\)PV81<A-W-3IQ;TVK4&[*&W>"C!P[WKCK
MT8F[:<KU0C7MU9&$N&BWYJ?13>-%0%,_BRS$Q36W')83NX91*S0;XC%43D>.
M'7Y<6/0T^$5ZW4[ FYY"F]U;'#92B"?&15RP=.,4>XKPEJ7\4SIR[&CC8J3'
MH2W"9BOB]>U)@>'-[D4OA;.X#A+IH*0]L\*O1@?.N7&[U--QNU0"5A3 AE^*
MW@?8"!-GT@%8H2WZH"-=6/T@#%=%R#Q<&#4Y05^N%4HMF5LNR,BQ(XT+?"8G
MH2N50BWMN8WGN4=H3J>:URK-ZT8+[]",%V(H0#3TH6<Z!-4_"H)@87DG:\O-
MX\AY(K'0EJ+?NQ5;9&+J*K'L1=$%6O;8F<MKSGE":DY'SA.)A3:2O&/KD[4(
M1=F.J?Q90'_;7H**"YPLOSR@W^V93]B*K@O]$Q.4=M R[O;N+VY*GTJ\TP+-
ML(5>Z=C7J.TZ$].";5&OT?:J1IRK<'TQWN"K5[U_2?QR-FMM%4HE/AL+V>Q[
M0N!9"HX\;+0DL7"Z(6E#M<JFW+5M>HV;=>)S'=N!'^  33?%$+4>AC!8?;_/
M*:0U1U!!':EH98)"2D>.'6<AC3@.PUFHCS/].!/::%]Z-H&">PUV/EW5^R:C
M*]CJ?6O@8(>HC,1/Q&(6:AIL=^X@$EA7\H9[HR8-=VG5Y7KD/)$XQ8;[5HG*
M)TYQ$M5[9_S2M-(LM$*J;OG2E*UINV+@DBV/6<91,=L#EE&K\@D"RV4XZ)Z,
M+!=;<U1I%1#=1;:V1SQ'U3+[0[6 X-$9@6^^$GTN O9%%C+OMX1WF171^35W
M849FE @R<NQ8VR6ICCQRG8BUFG!8$__DU595C6X5UA%M#%_4C**"9YJ#=4%P
MFUV.J7$FRHH83T"+KG'K42+NS#]0U]6Z>&5!<SIR[+#C,K2/@5V$5^<KC4*C
M(1[LA#X-+:K1NE-7IXXN9++K/(HYG5ED0@P;#&NDF[;,U8Z*C3YLY2.^@=6*
M+NS2PVV0*ET#B$0>@#0]XO3'0_P6CUB'N<-/:XQVM;^QX4GELS\*0.8L XSO
M4Q4!P-XMP$, 5CO"\CX!8"FPH@,2625C3=$$ZQ">J[MIVSF**U#U3!RL&43M
M8,O0C!<[0,@[CXY)2>FK:J%4?F<'VI0*;PE.!DZNFM6)X(Q!PM<JA>H!C2.B
M!J?0IGCPDJ0=R(#_V<]]EPI N,O)-2Y]@'DG?<)U&-EB=K8TZX6KUOZ*T")<
M49:P%06V7$+3@;"-SEG3J!7J(1DA(L)6Z-/"EIOU+%!J;[U&)31/9J$E=(T+
ME :N0[<--7$U(=N42TQR =63,)G?!N:7SLA4Y_1?VF O,,A]OS<L#KK_Z8""
MHJ,@]H?[]F/WX;=KM#D.>FP_?^OVKJG\_HP"!/S#M1UM//^\&-[[+V*SB'NL
MX82@6]-0:3<ZE?[$; [F?_J*=6PH! TFA#@(V\@<K^7@H G\;42( 82VM%?X
MQA@&1PZ\$;NJ1E^A!-\WU@QXGT9/.32WUB\_X, 7X#_TD4^QK%B!<8CU>8VV
ML8TQ(+!XA491L#&G18EI+04;.>:V3;Y?;LI@M2D?7,/?P8^);0G#]F*<D6D!
M31E[T>RX$N,?QDG<(#Y'EDI_!ZD!HFV&59I1]\M%B1I#'N.$&E$70;$XF8TF
MUFH^N\VOBQT">Z2#:18PGM&P\^]AL=N[Z_2&WD:$[4/UH"$#A)CA%U(<603_
M6<1C>,<UPOH//+?AN0/L1_]M9'KS!:.)107F3R"$P9YC1  ^NZ7R%Z#PY1+#
MB^B#!XBC]\N\W2 ([)Q.QDZ,H#!U&-7XY:+<N#C0FCZ=,X(.^' N^6([EFF\
MW+0[OSX#G@9#-/AM,.P\#KY<^I\<3'11EW;;IQPRZ-PA^&G0?^C>M8?PRV (
M_SP"ZPQ0_Q[UGSK/[6$7'LC.PC]\#XC:8Q<5JPF<M#MBHGJ6Z9)0E9!L]<OS
M3%'NB=P3N2>1^K"R*\"B\Z<NM,6*KO6D]=,0S$."'F%S)C;JP!%"12%Z*H^\
MEBDR]S1#0"KG47KL$N$'(REA] 3O2XF &TG&=Y*Q*<F8!3)*;LP$&<7@Q@/]
MH>';&7&:ZM)[TC60,S%=&QNJ74#D32$S!\V(Y<6@J5<?A_E5!(!DG.9C)6FL
MTI#QSFT.S:?(C?C)&JVKDM:YH;7DZ_S06EB^/LWVB.%^C-\93I1RX!M)/3O=
MO]G,EY*;+C==;KK<](34C3#7=9XL4W45P2YGQI*B&F$B*E\QPM?G][!*FO)$
MO_$OS9G<NC:\FUB=-T5W:>90V[8)_)_*74:FWV3)J>5*L51VS%7R]._^&+_[
MI'HDTQ&Q(NGLW:CNO\$@  HD_C;QQU5:B I_E0#^J@Q_S=CP5ZX7RA4)P%0"
MD*O$$)T +-63$H!7M4*K<D0I$ E <0 84K@@*@FX F#<$K#:*C3*LDC?"6;K
M@%BOFB):!UYY.9?5%(E1.6RWCGU$1,:;S>KQ-[ODI?0<X[Y>B5$G;;?*H\9]
MN5!JOK.PB41^WI!_EN- U,BO%NJM=]:;DLC/&_)#:E3%?PZ)&OF50JN1CA(\
M0GO46637*V5B>2@0BV6%X<P(&9!O\AKC82.*ND&%6GW_P2)7&,DR.I-TU$=A
M_#<*E0/*&N8*)%F&9XQQ3,YNC\)AWRK4RTT)3S%&CA^>L1TK0XSK*.!9@1-D
M13AX"NW.][N=V@ZM%F.)E14I+&ME;;EY'%F2./,C2Q)G?N0\D5AHWUL:LEF%
M@64$=>-#N@G;3G_L&^AGSVVM%EI7\J HR,CQHY'S8^Q'8Y*9KHU"HR+1*,C(
M\:.1<_H>(AN32WNM5 NUADQ[%63D^.'(>=$.$8[))<&66X5&5;RNZ$)[S602
MK/")(5QGI?<9R%&G?%S5]K.<" D?$M'"()IK"?,^(SMJ1-=+,F%;(OHH1'-M
MQ-YGJ$>?BMVZDE):8OHH3'--DMYG[4>/Z7I*KA<([>X.I)HJZ\%SR93B,665
MNQETTF$@"K._<%5*1Z:W1*\PZ#WA*!M/>FJS4*V6)7HE>H]!+W=#YR0C/PJ_
M>ZU0J\@SJH3O4? ]X8P:3W9KI5RXJNPO5B$"?(7VW3/3_9MEVC::6>98D]DJ
M\2>2<X=BMO]/;/L3M+ZKA7)-WJX19.3847?%Y4CM0UU<5G.S(5Z1H9R.'+^L
MX\(T^V5=+-;N5:'4DK 39.3XA1V7@K=?V,5DI5;J^SU<0END9W$F]V?$P@YM
M]4[>9K3!NRVO8>4INS^G(TL29WYD2>+,CYPG$@OMW/(24Y^)3;"E3! V5+#4
M7HENSJ;$D)ZN^).].4_7@A9M0[U;4:+CV7@)^KXJA;* 6=XY'3EV'#9"RG(=
MB\.82AP5FE7Q:G3D=.3X<1A2X>AX>1B'?ZQ>J-7EG4!!1HX?AR&%X(Z7A[$4
M+2HTF_MS:H0V<L]3:V  4-&,EP)Z(0:QL,Z,7:Q.-4.S'>I*>Y6YF.(E5-0:
MW'5(GY#?/#("/[;7B)B\J5PME ZH$2I"HH6$M3"PYE*,WP'K>"SO:J%2V]_N
M2\):PCH :RY[\UW2.@Y#OE5HM22L):R/@C674O\N:1W'N:!9J*=$6@OM$*^R
M*7LWM4PNQ"YY4T#>Y#*NEZD1/A?:"9X%:@5X72K84")8& 1S*8"'(3@>L[]6
M*#4E@B6"CT(P%\8\5 ;'8>&7ZX5:;;^O7D)80G@%X287 3U4",=AS9>KA5I*
MKLX*[?KWS/FNH9A3@C[HIFU_1&-X>F';FX9@-KTP/'<\:WW8SEM<5'?)6QYI
M'H P\1OI,%GX:3W)I71UQ 6O8YJK?Q2 LNG'U'9(<0':0R$5E[.\T9)]X@09
M.7[T<4')PP5:'!9O ZP%\2[1Y'3D^-''Q0X/EWUQ&*N-0J,JWC5IH=W,[ I7
M%^AC$=M!&J-: ;XB4Z[CYQXN1+F@@\<\_FFO1Y*L-  \+1P#Y73D^ '(!1./
M F!,]JOL,"#*R/$#D(N8'2D!8W':P@%*/",BIR/'#T$NY'6D#(S%CCT@:""T
M%7N>0@3.A%B^"8L^^)D2'P4T9G,5Y]CAC.5C=92"/=,PUT^1B252A_AEWQ?Y
M2*F?5@*4 ;3%1^*.!VBD5C(/T .ZVDN$IARAVP'*A[-.D:"Q5/%*1<A80ED8
M*/-AM%-D;2PI$*F LM!>YK#LAQ$!RA!:RO95LRD6X->%]>[@-]%RG(7AQD@M
M'"Y\N(K;4)ZZA<EKA@O,UU^FJ7QE=/.>&U(Z==X<"YN6JAG8FG<=,K6!:REW
M6B:[FK X4)_#?B\7KNI'^!-3:@VE&)O;H<G%%I.&9CS^[:M"^8#>7+G"4I91
M'!+C2UK QG-WL5J5-7H%&3E^%(<$"I.6Q?%<5;P2L-*T^)[VIY38[/)HS;@W
M),KJ<Z5_F/Y*#))L0PO92DYB^"@,AX1I#\=P3 4!)8@EB(\",1?P/$X0QV'(
M7\EZ41+$Q_3K*'%!T>,D<2RE"-/1[#P%+OH><989-,Q-+S0+5F'>JNF.='):
M0/MOQ_$3-UPD3OAZB8OB A7.>QVQ7+AJ'!_VJF8OL2!-"-L.,"ZVNA]@L3F_
M#ZBAO1-7^34XLH%%+N)XB+"+QX5=:4DLYAJ+7(CQ$+D8DR/Z@.O_(F#Q5.=T
M-KE"F)/?DBNRMMP\CBQ)G/F1)8DS/W*>2"RT9XN%K#G'%IH1F.\$6T2VJ\T3
M5',ZLB1QYD>6),[\R'DBL=!I<%ZT["NV-46$O7KG589]WKA(HUU<+FD'6X9F
MO-A/Q!I0>XSM:N11KR?V;COH@^OV[E?1KYO2I](1N: I#6\) H_MZ.!R%0]'
MQWM"5EO0 : HBY<@+-3(H@*)2Q@\1LR<'F_:#B39/#B=0.*2]HZ12*<'BW8
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
M+S$L2S='AD=.P##@@GIQ(S<%*C\%21U/E@GCJC8:PX-HYHYT34'F>$RH9ZH
M;W"HIT);I'XHIBT]%+'K@69C&6_$9&)=+XA$F>&)D:CO4ZA'G/YXD9AS2XGC
MU3$\4WR\='%3*<FHHB CQP_3ZLDP73BUSN5"HTB5.!5CY-AQNDJ52PJG$3@K
M0C%;+S1K98E;,4:."K=% =:2QY$E_=(]<NQZ8Y4U%;/>>*=&D#'[4V+VU(@L
MCEBP7@GX'P0!=_K92HK%=--ONZ^/RX9NJW^XML/<?4-SB^W+I-=HT]OW3/YR
M-1NV9D"L5TTA7C+4,U',%X.]A>5%R0BW4 C++K8;)2Y16CALQQT(KY=*$NYB
MC!P_W+F,:O'@+H/LN1HY3[>^<SIR_&*-2_ 51:QE5#^G(-+=(P[2F+H0A O2
MSW_RA)]N^FV7GUQN.G"/9VL]F';D85MIJZ5TY/B!R.6;OP^(1YR=)2A3.G+\
MH.0RSM\)2GG"S=7(\0.42R-_'T"CKKV]2L ME&57$U%&CA^67([X2;#,+.Y2
M$#2GAVC7L B,\%^B(MI/F5YJUPQZK9UY5P0!<_K92!ZNTTV_K6*PS!VNOR\Y
MZAOH62H+^T9WQ5+RN"T40+(,3>ZX'34TY0$\^R/'?MNP4>9.X)'C]"P=JV0E
M%X'AN!V-W'$[:C3*R]D9'CD!<<D=O",":(J$7PHBU/>F!;,RD.):%C&4.7(L
M;-@ZRT) >)G ( AL_1=^[3_?=9Z+7_O#8?_Q&I5A-;:I:^IG83AISPS?=29_
M:M_==7O?@B\_Q\(E"I)$P78')Y<8O\UVI!+79_=;G]N'E-F]-[8-=;AB_57J
M$KMF-,1OXCL$)%](O@C8'UQ2O2!\<59OA.01R2,!'N$R\47AD?@](4NFV5\Z
M1C*-9)H TW#5U05AFO,X;"1S2.8(, =W">*\S)$;_2!T'D=),RYNOF*=5JJP
M"^B>C"P76W-4:180I970G%R%!:BF.]*)L*S,33$:7N8;D+%B(%X?D74.;-O]
M<7+=!P WU<K^"TF;?%F5JFD;H(]Q;O]-!'!6PIN+T4*OQ+([?[F:,X\3HCM5
M1J6YOSJ.!&>&P1G>,^QX<,9==J%<J1=:52E)<P#6[9':2GB[L!/0>I[\E?U)
MU3OAF]*DEFQ"D6^2=1H4H[X]PN.NUBQ<E1L2>NF"WG;D<0G2QR$OBAH+S4*]
MNK\Y@ BZF'D;+IV1J<[IOQB($=4@B(W"7KEXW\BT@ AL5<#+UZ4@874R]D9@
M8Z'-]_L;4RK]'8@'H)IAE3:"8%4LO_CS#_6:,.=(K$9,TBZ$B>IQE6+J,"J(
MLTI(H9O+\TQ1[HG<D[3OR5X=I!!0'M;:1._[O6%QT/U/YQJQF2+VA_OV8_?A
MMVM.F*'']O.W;N^:^E0_H] WVXYE&B\W 4L<Y*G_Q_/NI,BDDW 69$^V1S&D
M/I; E'N2"MVS]%E*S9,JPC&?G:29%$ IQ_'0=,20/7FT9L)]=C^5V/].RCE:
MT'>%OWH2*/+BPHAY 44 DP"T38L H+'2HF9(JJ6*:FO10DF[5-$NX&^2E$L5
MY5BJG1_E^ED$VNTQFA9_#]_#".:SV)@/70,Y$].UL:':'T78F4.-K6B,K$IB
MZ+-W;FYH<G5NQ$CJ*>RU!I<4SBZ%_9Q$2>+LDMC+W4,?:.G-W:I0$CK5A+XC
M8TW1I+C.,(F]5#91*7R:]1_);;75%O4T@Z!'^-+$1AU#)6K8C;5=YX&S7Q/;
M&;[(9FJ^W'2YZ7+3Y:9G9V2YZ7+3Q:P?D%"IRF#-@$<\1]4R,[XJ(NR72" ]
M.KZP]S9,@[\-L^_J?Z58JA6KY=BO_C<*Y0.N_N<*#ILC1WGY*DI0<87^#[QB
M%1&T=E_9;Y0EJ-((*JXJ_XF@BOVJ?;E1J#>/J#<M098TR+;?2VYPU?9/1=E9
MKLB7:OGI\2 LA+AZ^"="*/ZK[?5ZH5G?7\%&0B9FU<;7WSH*,1$HK5JIT&KN
M+X G]&$U4.PNX]I3F -HUI:;QY$EB3,_LB1QYD>6),[\R)+$F1\Y3R06,1"U
MT3.-1D%H6 J98SA^L6N"-CV9P:$*3F:(3&>Z.2<$S71LR-[DL9^3F^&E@+U8
MU9UK:<;+$[$T4_5B2^R_7[%-5.I\(X;-2LQO*2A?JI_8WNK4^%:Y4*Y))[$@
M(\</W?!"P3QT_XEUEYP7N7NB&Q*S8HP</V;#RP7'B]G8HW.%5FU_Z<U< 2G+
M$ XO,QPSA$\+_<D6VRD=.7X4AY<LCA?%LBM\AD>.'[+A*6"Q0#8:JZ!^1.J$
MB!Z2I%M]>1X2[Y2++#)S+65"*4B)@1S\AGYHSH2&L*GP0("-5V([\#/UI<!7
M'$M3:-':A3]%<Z0#)?[<E":?1,<(2&WM>],:XK=_K:@&?Q#-A5*B;4!RE..4
M*>QQJ75/>$Y;/=K/A!G+0U,P_.U6&1*%J40AEYV7& KC=VW4&T>D<$E4BF,M
M<PF R8%2.BMR-7+L6&YQ0;K$L"Q=%AD>.7[3H,7%Z.)&;C1*OWG$+<D3E'X*
M\C2>+!/&56TTA@?1S!WIFH+,\9A0/U,!WN!0KX.VR.903%MZ&V+7!,W&DI\P
MF5C7"R)1=GAB).K[%.H1IS]>Y-K<4N(L3OYG]#-42N)=A\CIR/$CM7$R4KVR
MEV?R2%"82I"*,7+L(%W%LI,":?0."P!LO="LR1PB04:.'[17B8,V+H=&21X&
MA1DY?MS6DL9M-,X+"5)Q1HX?I/6$0/H>77]$>0&95K%,JZ '@^*(Y5,H <>2
M(,A./T\5!5A+'D>./_S ):VWU3]<VV%^W*&YY4C#/$"C33?N,_G+U6S8F@&Q
M7C6%>!EKST0Q7PSV%I:\%O797T8H4CIR_-CFLMF%PW;<.0Z50KG<E( 78^3X
M <\EOHL'>)D_D:N1X\<\ESDO'.9EGD6&1XX?X%P.NB@ SZQ]DH(4CAYQD,;4
MI2!\D'X.E#Z.=--ONP3E;E( ]WBVYH-I1YXV(U5Y2D>.'XC<98KW ?$([X$$
M94I'CA^4W&6*=X)2GO!S-7+L8=L2=T/B?0"-ND[\$I+-PM65+%$FR,CQPY*[
M_G 2+#.+NQ2D#=!#M&M8!$;X+U$1[>)-*R]H!JV]P/PK@H Y_6PD#]?IIM]V
M,<@=KK\O.>H;Z%DJ"_M&=\52\K@M%$"R#$WNN!TU-.4!//LCQWZ1MEGB3N"1
MX_0<W=4J1]RUDL4UA)&:9>ZX'34:93P\PR/'+R[+W,$[(H"F2/BE($)];UHP
M*P,IKF410YDCQ\*&K;,\!(27*0R"P-9_X=?^\UWGN?BU/QSV'Z]1&59CF[JF
M?A:&D_;,\%UG\J?VW5VW]RWX\G,L7*(@211L-TNYJP';;$<J<7UVO_6Y?4B9
MW7MCVU"'*]9?)2^Q6U9#_":^0T#RA>2+ %]PUPH$X8NS>B,DC^201W;X-+BK
M"*(PR3E<(=7]-9AW\D]*W2.YXH7MK,#=4!"$%<[CAY&*(H?,L4-1<-<;SLL=
M*1?[(F9=7-Q\Q3HMI6$7T#T962ZVYJC2+""ZZT(S914@KYKN2"?"<B4WQ6B"
M 'PO.U;TT6M(L\Y+;;L_3JX/*."F6ME?P763KZI2RVP#]#%2YF]"@#.\2QVM
M,DPLN_.7JSGS."&Z^T9;<W\%'PG.#(,SO/G<\>",O?U%I5YH5:4DS0%8=\12
MP_O.G8#6<[A5RO7]4=:=\,V&7R4C4.1[K9T&Q:CO=_"XJS4+5^6&A%ZZH+<=
M>5P*\W'(BT 9UYN%>G5_GVT1=#'S,%PZ(U.=TW\Q$".J01 ;9?FN^WYO6!QT
M_].Y1NQEB/WAOOW8??CM&FV^#CVVG[]U>]<T!>4S"M!?(4 X"[9B0 C""JT/
MB8TY2 9OT)[IP'L<$]V:A@KZBJCT)^;HHMH,W6L&-A0-ZVC@P!]81A'ZX!K8
M!?N,J!\#^Q/;S -CL U?C#,R+8 HHSFLY[K$]IOM/#>(#Y-2Z>\ 96"Q&59I
M3Q96=_2+3\U0O]%%D#TGL]'$6LUGM\?I8H?@&.E8^3/@4D3#SK^'Q6[OKM,;
M>AL1M@^-@X8,$&*&7TAQ9!'\9Q&/X1W7".L_\-R&YPZXJ.2_C4QOOF TL2@7
M_P22X>)FR(A@CBE2'.^>$(87T0?CYI$#0!#8.9V,G1A!8>HP*FC'UE)@[_$?
MGLX8J__7C' F^6([EFF\W+0[OSX#G 9#-/AM,.P\#KY<^I\<3'-!5[9%0@7D
M$H4DMB?H7C=_V)E9]X?O2VE[_)IB/8TF[0N>J,=$:%H'6$>+S5Z1OIXT>7M@
MK:-'V)N)C3J <!6%4#GQ3<\CK)88J&QD;A^#I(31LXHHM0HBX$:2\9UD; I!
MQ@/-VO#MC"Z7'O8MH >[!G(FIFMC0[7#5*$ V(M3,U62!B6<\:]V;G-H^#XW
M<B9KM*Z*2NO3A%&TMWK6)!$[9(SI(</K(6K.B(4=.#HBZKEZU1R-V->[!=39
M\REV:<F,QK#DIHM9_B;I&WJ,EX4O(1ME(.%P5;0O7%"N<]?UGRQSK#E;JSY5
M UF&5RQDT(H@9- J5%JRFVD: =3@;MCO 9 L&R94V;! _74:-[((D$S1=(*,
MI42E?Z>_*=1.FEGFJT;=6J/Y-D-)2/8Y=Z9K-@V#G(Z<)Q(+;?OM[IB(R!O]
M65234!B\1F %A*?8?]WLV9&@25DN-*[V)Z'D"@99!B"?1G\X .-J!U-J[;\S
M);0X/X])>D=F8(9J?G$=0T5X:L*@_Y5=<)-A)2[I/TB0MJ&V ^1(4*!?U5O"
M<5-.1XX?@UPJ_[$8C$>F5ZO[,Z6%ENCG,=#;BF(11F%S'*A(CE3-5F@O>D%@
MG7Z&VGHCH=S@.^\MB!+DI?[XSJ>)#5SV9)&IYD[M??4'(Q7X(5=C#KC9E?:[
M"-D$'7<9(4+0Q5WOH'2$\9Z1X@:;8CM (RJY5_Y>G<#!"C$ %,UQT85? $M$
M]IA(P#3B"L'W%V1YH%1YIB_HC[_;I$TI$J1AQW.')6BSUXXI'9L'>&09F%PH
M.1)@QF/(7S7$.TRFP)!_HM$_FY(=*,!N+SIC5V<7T5S982@!)FN&A=L]DMR;
MUIU/D+9/C],DO2Q7G]*1XT<?5ZW^:/3%Y&L7+](CO'WO45ZCM_ <;PFW$VR\
MP%<U(YC:P>QZYH?7-3S2=)GFD;L<@)R.G"<2I\#X7.@5FJ1&M%=Z;5R$G1,9
MHA&H?"ZPWC44BY[G[HCW;]=8$.9Y29<D\SS*A:/\PWE 19;QR$6G3\9C/*9H
MN7!5EM;H">*=^OL-Q[3 NA0$S.EGH^VAF2878>?Y*$"1LX3]K@KEINR[F$YX
M<>'FX^$5<X"O7F@<4-XVL1#?N1RZ9(8U=9$I[9WS35KTTN]UY\C 7F(\PT7+
M>9[QZ75'Q@2HH_J!D[;A%2IE@96SR.IZ2:9HI!-T7#@Y0M#%+,'+]2.R\3*:
MHK'PB<SP7#I$DN$8+LZ]_03ZY%'E'!+YJE"I2N-98(1M!5B+B_&>!K"8;EH+
MF-*3 D.;)CZZ9&5H"P+F]+/1=D'=XJ+5H7Q$R?*PBFR>0U8W&T=X#*6D%@AB
MW+W7DR$6MZU<.:(\1C9MY<7Y!5GDE1BNM)43X(\#HH<+LCQ[5#F'_*T4JO6F
ME,"I1-@!\<!#$!:W^"W4J[EW-O<W[H\$\LD$P6NF.>6 B-]ZQO["9)F?12;7
MXG7N29S%A;,#0G_'X"QFR7Q468%L&L9=O\P;?B.".I)3WU\\&L?@ 0%"_[3I
MD71(*9J8#WIE[.RWI7>V"L^#'); #@+[@"#D<<".Q_>]7U.(@&NA3P)KE==[
MAU85%:WZNN3>(/=R 5&@*RVJ_^13]>O\NTTY=VGUM9>$3?(N^@'A4!'85P);
M$&!72EP@]IW CNDN>Z%\M=^W) *T3ST+99/)A.&E;-YHR^G(>2)Q>BS=S1Y#
M7A$\P7L,21!G?J,EB8634^?Q 3^YEC+!] :(.:;'<;!HG3F[#4+^<K49+<,G
MPDZ*#-GWQT[@6, 56,%S5@)Q:+85((1%GGS:/.G8<-J&VEF0)\&C=*,4;RQ;
MXBLN?''Y.._$5TQWJ!OQ9N,(;3<N*ZW!N*IO+L)VNA8S$M<K*,N\B;BS\2LE
M+L%H01K* @. +##)HT>?>7_,KD0E6B\Y$'8KE(ZYAI<'>&09F%P^S_N!&5=S
M/A%QF3:C7%BI+X,%C!VYM"?.M'JW6HB^,J<(40&)X80QO.-\P&48'0WBN!JO
M%"JM_9>D=L(Y:P>%_:D4'US:$E$S/H;ZFP5U-^>*%;=S(I<2M27VW%U0]BQ)
M%>4&\.7^1&VI9G*([1UJYM",H4/!'7..>*56N&J\,WLHP=3Q;/*.,"R2S1A5
M3D?.$XG38\UNIDN,-0,;BDR7D"#.Z\AY(G$:/+-KX3G-MEV03X2Z:15S.@5;
MUW9,Y4^P,U5B(3*=Z>:<$#33L2&8\U8\*+__[%P.:U.SC(QT?6+UQ[>,5 -*
MJ22/S(5*0[QH2$Y'CA^+?$;/25B,JUA]JWY$FU,1Y?]YTC,&$VP1VHEDYH?H
M5-81S\%OZ(?F3":FKH*U:B. PL+Q"KH!ON)8FN(0=:D?--&B>2EFPNT.I_+6
MO*=GHF.@Q] <XK=_K2AW;UJ,Q%\I:8$W:=&^[<WFXU(45TU953F=>..3AJ+$
M6US*H!XSWK)CV+-/9^Y(UQ3X;$PLH&$!WN^P3(W%MQ33%DV\RPB$QZ [DZ<6
M9ED7^$;#^A.C<]\G\SF*(9TA^"#!*DHHN,QG%KT+J_%HCWJA6<O@+621DSK"
MO.*".L5SQ<D[U Z77[4E\'V_(&V261TA@>\#^F])Q9-RN&Y'ZZ$Y2(>B-1[-
MTRB4J^FH."83.L0^^6=MN7D<.4\D%M^2[<!!1&%.$?*F3+#Q0I"%'8*\GYE_
MG!JX!<_,I5?-7T&LTX96].IYP%]./Q=ART7&=A0&*I>9Z5&P/^[X]'L&\O4-
M:@70_^^L*/:\)!;]H&VHZW\(/'D62U9ZTE,)R I7@RTI0,:<4UP](NXJ<X?3
M-W*>[)"<CIPG$HMO:@:=III?/AI]4/T"TO0*W%&FII!N5/% _GXO4X7+UGN7
M+G\BEF:J?/UP17=IH#UH-7B61+*WY6J5(]J:Y %?Z4?V#N.52_X3 -IQ=[JZ
M*E0$[368,?P*RSE96VX>1\X3B=-CV]X>;, 6T(C JPP_\WC&5 ?Z8KNS+;.&
M3X@%RJP,0A9^OA'4 I:16698</G,$?J_VG9_[-D&M6*U'$7QEE*A4GIG\98\
MR%P)\2#$N13JZ"%>B0[BY4*MG@Z("YV$?;*V(_#'#.NY*NR-:KHCG9R66_6W
MXSB:&RX:EN:2KJ-GZ>B<-5>-0J-:/IJEJU)K90>P7.9U+&969%6S"]43$N'.
M 5BF@RZ=D:G.Z;^TC6-@D/M^;U@<=/_3 05)1T'L#_?MQ^[#;]=H<QSTV'[^
MUNU=4_WQ&07(^X=K.]IX_GEM^*@'T<F8^0#+'Y'GB&.W0M>4$XT\F+3Z+@(@
M$\?^%.=$8ERJ A@F%HPQ( 1A13&G,VS,Z0&S9SKP"L=$MZ:A$H/FI\-/S"2D
ME]V0GQ^*=31PX _L(ASZX!K850%NZL=8IAM*?@:UQ4 CTU*)Q= .J[@N,3@S
M8'.C^ Q2*OT=F!CDT RKU.7ZRT6)VD8>CD-MJHN@#)O,1A-K-9_=UMC%#NDZ
MTL%2"]C=:-CY][#8[=UU>D-O)\+HUCQHR  E9OB%%$<6P7\6\1C><8VP_@//
M[8N;0\Q)_VUD>O,%HXE%Y==/CJE<W P9$<!:NZ7BD-4SQO B^N !TN'](B@V
MQE@8KNW.K\] DL$0#7X;##N/@W4C,_;Q>WT8' W[Z+9/(3'HW-&?!OV'[EU[
M"+_<=WOMWFVW_8 &0_C#(Z!F@!*>XX?O ?:/<^10.>#IR)X[A?."LE3X33[C
M_:MK:P:Q[3MB*Y8VHQH55'P;I)]KT&O]3\!_BD;L(0SX53^JD@B\$<]@*,=R
M_2;&FN$2M0TV /WE=[5.ZO7F19P[LB!&^1/J/W]K][K_:0^[_1YJ]^[0H/NM
MU[WOWK9[0]2^O>U_[PW!;$!/@*+;;B=F2!]#M"J7(A9.M*_8UL#F>@+U#&!D
MMZO?2[58:0/RL&^]8$/[+YLK$Y#H?_W4K)3+GU&;3"PT!$,##>8VJ%30IV!B
ML(\KI<^WGFYFOY4_?T0_L$US(DQK9EI,(X-)<@L#@LUI:)C^]HCGJ-QJ--CI
M6B6O1#=GWE$;INN.P99T:<$+AXY(_SIR+:,(WUMVAT+^M31$IV&3J08;JKJ*
M8UKP1Q569<T_H2%\%IA;N?'91C,+9J;-P#B862;]!@QK$?::^_Z_B_]^*K!_
M>_ O'9C^?/L$*QJ#046)!E-C'P#)7UQVN1ZI&KF<PKM R\RPA76=Z/S,;6_?
M"FRD?]'7/>$_T=C5]?67FY;WR)U&Z ,*MBR-6!M?8\0CZT]BUS%U$ZOTSW1@
M-H,QF/=T)STC\'(-TF=F(RX/(X1A@(T&\&)M# <KPXE>#,;-4&Q)U/0(+LHS
M/7QQMN2PI8"CH%W:JD>9N)IW(O#9 @;^R\46J$%]3BO'F)9#\]_OX=P'*RS^
M8_$XPQ#VMI;-U5EQ#0.2!G_^,3%U?5XT?QBTF(P[LC55PQ9M$$2?F.!7@D:$
M&,!3!%C FP)]IZ6RR@2T2 WZ_FGP";T0P"VPR)Q^3&9T+7A)U@5SZO#>#[YL
M^=9N/RT%RYBQ-RQ)6Q9IA"WP%L<NIE+<P_0M5R<+SQWC4MCVY=H&1%ET-Z)/
M+/(8Z)JGFFW3(WE0N TZMZ'C+T?]A-ILI?"C/O=8\C3ZJ2:<@9TE711B.1CV
M43.\LSJ=&)WPV#0=>(Z W+$5W;29I#3H(W1;UT$ E#4,%X91@J.OMLY>COX)
M#I3L"^9,,^A0L%N =##)Z<?O61:K5 3?7FR<YS2EDICQ! G%#UTK&C'VH5/7
M;&JY>SBB[Z+ZHUHN(,KE*#"I/5/Q$#'6Z241V"V$5<JO[+/"8AP_A.EM*#P-
M8+$8MH+/&D0!A8^M.5L=1F.L68L%>93RP:8L-VH+!6:FK2U)"R]P=8\+3:_)
M-\4M9G_P2 \G'U>9+/<0=!V(1G@C4W;VJ22R)Z:K@ZX"SB&800=F^X=K> ZJ
MY:[O?Q%38IJQ@I\O2'ZV4=L#XC,GB?YGB9 YP19UK</7@P3^A,337GRJU7)O
M8,N8?IH+H9V"L8X=FNII)7F]D_)J,0?HJTTCZP2M%8$:HAQMK\P%3^ HBU<L
M7LUTA(4-VW-8V@'I0W1M"E.D4W5GIA%@67A01!1R<?GO-NF/._ &T!?'W.%/
MU"JZI=I7 12L##JTL.@8><"VIPA8KF,!OL6.+(^"\+(%'L-@& 1#T,I8CF4M
ME2@GL98O>8_<@DG!$"N &>;:G!;7$K>,O&_ZJLL4$_VJ,[&HEQ3VS@#IBZ9
M]HGM3^F>C"R7JJI*B\WKRCL8>:IVJ:S"; )?$5#S0W/FGAZ@]AAH"=:<QPY8
M"-0?.\5_$D065/-XTK;=Z<QC-&>"82'>%4UFI;$MI1;@=,GUGL^:?577\$C3
MF:'FF1\K>\<KD,6V@PX=_B6$O6&H[%D(E-!5+JW&D/E8<#8U7'\QY(T62EO?
M^97QZ>GD3RAP8@ELAD=CFYPD&U^Q[BXI19OK&'!.G"\6J)L_X/S(M@2.?(!)
M6A@,%+D.1WGJ^J3?]L#Q TZ3,"UZ'K")]0KG0N!!QV5VCF=Y*,P04#5:T<<K
M.^9,@#M6"Q'P),FE;CP3Y@%G1&#0$U00<O-$1<2$VJUO^EO< RM9,L54:9H,
M 7!N K+[V0C'  R^[S/XXE74W*4\Y;\L:--Z<B-L3BJ5;!I(+X5)2,.[$V-.
M"3"NZ<"0'H<N?EOC;&K2TEJ$M#0AL6Q?^C%/CS,7$&U\5H%I4'>S)TJ?-?O/
M6SC : []*3KOK%(>U=6K1$W"M74QJY"M"]&%K7L'5]#2#-#-KH>M'Q,-3BI@
MI?VQ$/@+<\Y#W>KE3-(JWMLM>/OB*+9RUL'!ECY"PYM4CH4FZ2PM/$ H@4]
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
M/.6;PA,=6;.X]B.?$HO5/[Y6+#&P'H9;$56NUAQSR\U::9\;@WXU##P-WE+
M.SC/+6K^&O!6(6M0([@V"&Y?Y)Z;7X/@XZ005D@9JW_:UD4&CRV5N:5K7U8-
MJ\0K@*;1['4K(7,:J"4!-3?#M0"@ZDL"C=;BT9I[UBP K67>(E1'R:KOX.%Y
MRD17&3QE-^2)CJQ97/N13XG%ZA^BOS;(?8,$8,'ZH;<@/C-#SPHLIH_/Y=MY
MF6+2.Q<HV7B3\!4L-C:^#\#2>Y!\O8_96EPUK+XQZ.]?$$L?5"H'X+?K$9P)
M\7P9@K=<)Y0*:%@I_&L9V:]#]3Y\?*<16JJ*S01_O@R@FV\+#J=P>YU**%SU
MC]BZCO_)V^8G.K)F<>U'/B46JW_"KEBX7O6K3+<'F8/UKE6F%0@1J4J5:0W=
M4J";"=5[$72K$)^G05L;T&;J+[\(M+IO2M5.T;J.OU+.KMQ6JL76E"XO3*\[
M,)K]:D20: "7=9]0="'_EP3KO= YJ^\,JH7"]2#,S98I48V669H?E&KOE= \
M=IWE=#7DO$\**+^T5'+IWR'P8[+X=6F*FVLNXYK+J+$<5[*:CZ9>,I\]BORM
M2,S(!L,Q=0@@#U?_>CB[OOEX=?,@*)%7>ZK5VFG,%"OF])&=C4#3?CNC$WC)
M+X3:SW3AOWF_BWDKW\9F[W^C9.HARG\(7!/L3<X%=T(N4:2X44GA1?C@>@P=
MHC9W9\Q:YX-B:H&M 6/NC16A'H._33L<,[2VB1M,F4< - R^=+'F(B/4--W9
MG#H8*8R4&S/'AZ?A7QP$J'F(+']+[J<,?MD@R39)'JGE"&L^8+.YZU%O06S8
M.QD?(#T9CE9K8L&/*/SBB5HVLN ,U-B9#RH)U-0H2(48+<_^V0JFL *8;3@+
M;3XKL1J<O<>F,&OKB?&A#2!=@#B 11&/B8<#^IW $8B9 4Q_#E,3*^"<,K#X
MI ^DF,&929+-8ZGY3H /.PU- A=^Z8=VP.L$NW/F\1'\AD#V<=334CGZ)/&S
MG4G0N0_G<YLANZ@M><Y9_M'R35A>"$M[@+$^V*[Y;7GG^@3S$CO7^5FS%;A)
M@YDWA,&.,X=1 B\*0X?UL_$PD.)QT;T8#UJEBD=4'Z_3(!^&?PQO+J_(_3^N
MKA[(]<VGVR^?AP_7MS?+%?,.PI@2%PQ:#\U?)W ]'J['M6#UUY5:$R+)MWPN
MCA.NRB:N;;O/N.D>;JEK9*N;R2FZ-Z=L'-KL=A*M87$9>A[\B^];KY6K;4:(
M;OQP8D6G/[&1%^)NW+XP%*FHK-FX/QMEJP$5.*@KA^L*P^]Q U*UMK#F=>&\
MWMS>1->1WJ"BOM!G@HX[SZ*V."'[X>@,#]^SD:U<"DTI'MGB_*Z=[&$U-J.!
MT)\C.M^PX';RA?G,>V(;^YX64:ZE:_1WR'%1@*<:3:MHRAS/7H@FZ:HO).[
MN-@A@%_I,(.C1%#^Z7K?T+DY]UR3^:JJ567B>PL0GDP%BEAXD!?7SIW@Q"%U
M<:ME- =:%RLR<OD0S 2SO!2"Q2GPGM$_WQZAHK3^/HJ=_,ER+'^*5TFN6[WH
M]V,+U0$B.#OM3.!-+&T1\WY'WAW4^#;:G5XE C4UCI7!<29VYZ4X+F[7:!NM
MBU8E</S2D\!)2%0=8MLZ[4QF5"P?(!(E*_3. "SX_36ZCO"M$?XR!4.VXJ]
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
MP!NDQ&)/><!A"X@N>_QP/K<M.(^ANY[X&"-@8K!7=#'#"Z[Z2_9!]$H9.N7
MKBIB WD<6QSEZ<>!/"8>$O!Z*'5XY >(6D2_(*26Q+^66)K1A2%O0O 4AV8P
M_-<0T7BXD8A"CC9[%/>K)F-XC; 2?\[Y#ON,AV%4H>=S#T1T1]D@?TXMF]]*
M>HA"!U_NN'B1&WHR$,^/#' ,N9_Q6Y@PX)$M&(8#\[3%W28W#)UH9TRAUU@*
M'7.1)#S8RT9?+7\#GBGY=II9"K]F%.'^N)SX2A4.QCX+ EN\-(E4Y/) \?0(
MFPE>5XF+TSA6/__8NN0-3H*1HN@B0\Z AV-*AS(*&U[74G^*-Y[/]0@KNQ;T
M<= "M'/P@E"8")L4@>"#Z<R)@F>72'$MG^XL,(!G#OKB?7FXFE,/HZH,68T4
M^1XYK/#.&T]I,I@YK32!HP%_8,*#O.AL;K/T*R+%AT&P+!$!+CZ4X*V3.17'
M* QJ0V]&PD,X_ #+<>;P%_]%;N@"?#KQ+%FO#Q\5ZS%M:LU$"#X0BT:6E\\O
M[FT++!81SXTRC*N#Q4@/BY-0QQ3RP]\5R>&,CEE\&[OLM^7/\>TC<M,L4QVW
MH:5S]>I J6ERBEL<W/ UT)B/.;;@P!FX2/%H"JM2,UKP,&&TLOBV!DNUJ9<9
M:F47S'4;/>),ZB%!_'2."@ZTAV_)4WD<P")]6]PQ#D_@?:65Q&#$/CV,B5G/
M,;Q)CSSVB"]@\M0""?+X5;ZXP<I%EA_S4IH0(,LRM-RT/#.<X86_R0,AD_V%
M2PX76C-$_L83 <B[\@9_+CMY",R.%DM@3*\JM0JNJI%04SI.J^PH.B9?52?W
M>5(G&SD*>TDS*QAZF3GSWP=P8,%@61"_J[]#.,'= #:J=:CI-\C]/X9?KOYQ
M^\?'JR_WDF/DZG^_7C_\?Z2:1YJU%=*6_)O#\!'^).U>^@;^@TL][EO[&&G2
M*.8:@^A2%A%*,OV&$6]"1SH,)-!'>RU.-/P.Q_K(DJ<;W'$7K25WP_V4V9,O
M[!%T@S!9A'\NU_76.FL.SMJ] J[2^MD6(O$UEH\S LE-IM0@0Y*>(KF/(\#A
MCT\P&7)_UN'I!1.P5,=BN^)7KE>7^,@]FP?2=RG(CV^\\UQN080^N<?3EG@A
MO]]RR)NAV)$_4^\; VJ\?3-\^/SF';=F>#QINY>^=P-3=X931Q'E\_##D<]
M>SJ!O9"36II'JQ]-!+!Q"ZS'#P>YT1F<L=*K!)/ +9AY_ IQ ?8M3 '^N9;;
M@TSXP#VLX';"E0DH'1@6_IC"B=&_!GN>C:^=!S#J??&>7$W2.FLU(TTB_KUC
MJIL8)@V*YIOW+>/\XMSHM[.9;@ $?#Y#7@P@A*T.;':\;(HH #N:N272=Y")
M'4S1X@Y_?\<\/LDUZ-]CK8#^N^QZKV\^P8J[C7XV;Y1'0O(5R_P*#S.UY#%G
MU2@BSW@4 PPVFHGO><0P^)33RO)%/B?;EL,YR"35(DG\R_@=Z$3[Q%C^->R+
MD;#1Q=YL9),X8UFC_"Y""D#2EF#C&C.!"#>N$]VARM3.6_G*2]?/S^\L:ZDY
M0)!+!17EB,/#1D6%&B%62NMID+$F[B2R<'VW.(PP*<I=_-(>T-ZP!^RN4N,T
M5YGENIRWPTU2?@/V2C6:\3._6HWR+.%TQO"KU&B[.3 N<K*?BU>BF0".O93H
M7BO=H$0[H$2SU=OV4Z+CT(N\4#+];UWJM-2WZXF2U\!^9_%Z,1(VZI;^!MV2
MLUEL4Z*9+)E]-HIR5MAL9 ONO&JCR!0T>,%&<?BEPD;!%Y934$)<1,ZHY7#W
MUY)[:$D'HG[=<&1H+AT9;I.@?WY8>' G\+*(,L77^5JB1*N_P3Q0\!B?T0RH
M?3PV!3!93TS4&\!S?!5.[P. VN7EU\]?_Q@^7'TDMP__N/J"EY1W<*"_NKF_
M_N<5^>/V_KZBY_@U@UQ.L?V*'UV4Q-F[HNZ":8:S4&3^2D]OFKW<TVR($@P3
M3/(UQ$Z"!U7>A,8G;ZUT2P(%.M)D 'MO3MDXQ#U^F*R6[VDY4/X#%LR3+72'
M&H7[#E2QM<FE@!X@39&^'9J)^S/QJQ,5[^"J47-R*R??_*Q[]^C>/<?HYQ*@
M T-&!XF8??0[J=KA17._6.Z+0!TFF"YL6,WZTV#]@QM06U5FJ]_)*6I\3/D)
M,94BW%&K"K@B+7G>KG<[99SN.QY ;UAP.WF@WS>5_!8A\LFAXB'9[8;Q9N>_
M)F\$*WG"0N%?RQT;]F@0M0]GWFED[8ZLS'58X<A*3CKXNUOG.ME,2P!5UB6J
M,75H3&4B+0K$5*%@Z64O7HM$B_K-PFYS/+6R$.-;=$N\BZ['/,9Q$T=(*M:4
M\:2:,FV0O(S+>I.X?>"L_;+*V8P ;LNN.[SIL'^#FZ563Q55_"<%\O48SP1J
M'0+C)1HQ^]@N*G0PTZ*@C"AD0E'*%84B,-ZJ!,:KYEM)1[S(:B@B<5UAH:U2
ML[4-)E<FIK:(P\Z1[:M6M[NWF';J9V%5":'K 9J)Y2L<H'L:1_]AGCNF_G37
M/>.L$LT$-7[+T;#=9B99I4  5UUK[MS"4I=[/FBYYZXN][PQ&#ASB)>]:?'P
M@5-%^?G3"J:7LM9!"?U5+BX&+7J8<.&+!OER]<^KFZ]7M0H(1KQ)OJ4;$-6R
MO$RJ[Y$GE\R;K,WA;186E<6>%KZHM.(]65%3-AXZ%'7Q<I/2';S)DA,E(O"*
M+""U6$/#E\'5L)F-9>T4_*4H@K&<#CL7C_/635@:(;!E#8+O)@_5EBG1KL]R
M9C=:R,AKGA!!)K!UGOD!FXLD(=__A;QMO0.)Q1=/%M&DN&#*GECQ:@SRMKWR
MZ)QY?&/E;<52)2WBV''Q)OAEY]U*O8<@21<3:5CP4%>4_C6CGB YS_ JCKUW
M":.6^80Y@LM5HGR8DL\KK= UT^7=5":AQR])QK*Y%]8JC.LD5!S@=VNYA(5B
M4A5K_(6/O7H-4;Y$5CJ!W1P0CHF%HN_,,\,F)_AK/Z!1-2U>0L.3>3<Q^.0
M'*UQ_>4(%#[FI$=_)+V-5UG.BVY*4'#AXJ4WQA8LS@&,YK.45X&)\!;EO.6@
M:4G01*\\F#8@258\9<D<4DV=081#S+;R4F&"V8(FF 3Q8OE>SNI,ZIK&E:(>
M/<K[P6'K-ISDDV6S1\;+L_(^0Z@3L+&@Z!,2UT]+I0 ^4P_?L9"]H&N!]$]N
M"E^RRZ*LQ#/#2EUS>ZW.6@9#A#@_'SE19N4Z_<?;*? .>4A]GCQ&;==933P5
MK1>QND/N]V)OB9NEQBN8"-%,"CT99!0&'!91Z1N8GZA^@P<-WHH;=R#.>H]7
M[^55M"-4\,[D\7[F\-:XII@&KEJ(<MS:%,#'7,#??&IAE^7(-, W2@4B7CCG
MB;B63U+= 7DSI+EK.;QRF2C=%G>Z26#.2[?[4VL>594:,QLHZ2WXFQE6$'9,
MT?@JVGIYPA'*#G_$L_QO^ EO_RJ9%6F@U)2QK%6BK99FZCZA!L#Z5')#B148
M-M*"R8A/9:M#^7AJSPM%C7#LL@[S2):&7.:%C&%5V%J@%G*W6NV1V;+?)->@
M'$/8/QY4W=B2RA+1*GN61OJ6)J;'E'>.Q-,WO\+ ]']1T @+H\7]))>W^G@/
M$?+FC:,*3+Q4K1 F6_1(Q>K1D@_U*\R+.L1?JCZ7:G4=3#TW?$2S3A0SDYL_
M""\V.H5=,ZHMQ_. 125>8-V,EX5949(Y T6OQTI;6,"05S?$.C;8VQ1T5BW0
MC@>BCY9/'Q\]]AA7$Y5V:*V.1<G1018(Q(U N-*XU3=RPR!7!-'XD019MW>8
M*) T[NB7;'6Q\C\#-<&W8;$_HUX'A2^Q1G![?G2]A0(II!DWQS(Z;B=RPRDD
M433'QS'H3MH7/9U"6M6,A_.#9SQ,/<;(9ZQA[Y,K7@-$D00SS>8"V7S#^S"H
MQN7=O>7U@545<Y>7ZJNH !S-QU?R<:#Y6 L^:GFL!Q\5D4==_4 ]6_'@2= B
MD%3-'&C-Z\)YW=&\/AE>:[D^'5XK*]?JYUH,?8NJ%>BK2 [XVIC=5J8V\I;X
MOJOO\L9ZR&_^V'A]6E*KO9JAYWO!7\BCPC+Q>D;K?(]" B<48:X\\#*U!XH"
M7CL%/%[.N#TH'GBMKC'H9AM *,A_C;S5-(5,,F9Q*B^;E%PX\KH=H]/.-G16
MD/\:>:O(RZ0@%J?S$N25IO,ZH/-RVL <F__J%V_YZO"(/MX"2K%Z+,JDX1=I
M6F2*JY1IT_*P3&_QU]?[(LP*X[RK=;LB(Y</U'V3JUYE Q<*U+;1Z:JW%9SH
MR.4;+IFREF6:S(4"M6.TFGL4CSL%N-09J)DJF65:V(4"M6_TS[?7W%':N#Z*
MS_<JQ#[FB@!\M[L(!63N %6ONJT2=XU\W[+ 0F$'WG[OE?4+3T&G:\BG(5_B
M_I/OU2X8\JW]*Z-HQ)\RXILE.EORO>D%(QX."!?;3[(:]!KT*="7Z+C)=^07
M#/K>]HX.*B#^I:[]DY"]*A6-6R])F:*')9X1"CFE]\[WWRUTF</Z(+:5J7)8
MHHE?2+%RH]W<_QRK(5L?R#9+#/(KH_9X]\(X;^UOH6C(U@BR)88'9BSL(B#;
M-LXOVI6 [$Z5:(NM+"KK7="8Q^F:%SG5,+IC=F[V=36,,H[+M2R3H*MAG 2;
M=34,56!5[:QMG7U?#SXJDGVO^:CE4?-1'7G4U3#4LQ5UUKQ:BJ9NO%8V:U[S
M6LNUYG7]Y%K]R.A[4<I?K<L*U7-TVR5FAV>#EGE71LFGXF(XC8N^>ID$2HVL
M*OA*3!#/A@^7 KX+8]#6X*LB^%HEAF)E(WE+ 5^[:?1[.G^ZBNAK'_+"OR3T
MG1N=EGJYINK7QT#VBH98BLK,L6/:BY2S0P;<"CE+V%M<$230\[KZEB(CEX[9
MSB%#;DO#[+G1OM"8563D\O7L(6-N2\-LNV>T^MM30D\*.G4&;6D9^VN-\!)
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
MECF[>!YVN5T$5M:8"1^/B5;1S.>ZGELO@FQ"MH19-&6I]&.9:)Q 2?B8^:N
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
M^!<_2.B"I-Q1K,1/X\S[6D JG?9Z#YL\$-D@OW-ALCEMAF.01=A54+B>F,Z
MK;@!M/^]_.Y^.05R^W0J[!8VQ]RL]2KK 6:=J+I[QD"M<*U35_>\$3IZ-H].
MQJH''W56UCI[X;"\JTP:5MT$0"NR>O!1*[(J\U$A!:?S3-4]D>HL)K543=UX
MK=.9]N7U#TW^_U[%\P,8T#OD,>G]NDB]>.IRH76@YK7BO-:YG:\SSN/;X\?4
M[3%=N3U6(O\@'[95RFCI&,WS3.RZSFBI 5_;O:;FZ]K.( 5W=WE[_M,[-=98
M ^Q>&!<7&KOUX^O .-<Z2:&1"TL]U]F3.V1/:F2](-^ZV2@46YH=KQ/T02-3
M$J:R[-A"E+IA0%E"[YYEW6QD:B]4%GVU8$?&<:#9H=70BW,FCY?U45:61^SE
MGH^F7C*?/8(A5HY?(QLLX)1;G#Q<_>OA[/KFX]7-@Z!$GE^ZW=HW&'@.9NW9
MR&/TVQF=P$M^(=1^I@O_S?M=_,CR;9C?0\G48Y/_?O-#X)IOWC]P+H"Y? D$
MQURZWWZF[V4BT''Q4=X@.SBS7Y5WZU,;\SGA\6],)"W"$QO&2N7DVNPQ>L;D
M*9NIO+@H*3=Y+TQC%CJ63, M,VEW+Y*MMK,M)'^WD],F] 4-97,S$_%=>%#T
M@'/(7HJ/8 *U3&(U37BGS8<=N4Z(:Q3$<ITX1Q4)(OJCTI%(*[0QA].'EU,@
MN<=0B</_@E0"+E_9"%; @EKD&^Z%DN5LUE:ST2P@G7602D)];3KKVB3OW"3K
M-3FI\EVMC2FIX=@2>=U"_"-YG[ X![93V[S4:]P1F<QKOPTPO??: 9XR\O9*
M0.6=06Z8;L]ZJA$&Y]7(Y]/)J7O'? %GW_Q\FC2I%?1U*FM5D*]S3Y>9H&K(
MJ4[9JAL?=<I6E?FH4,J6YJ#6J)J/6J-6G(\*:52=!*ON658GP:JE:NK&:YT
M=B*\5CL!3'-;:W'-:ZW%-:^KK,753^.-+]LM?L6N0@#B*R-5MR5+[0[O*(BV
M-\AT$%& )J?*C4Y?<^,X(Q<F3YGF8+4)23^N:+2,_L5ZVIX"1-7B1[^7Z2^K
M $U.8>3")*I3:,=F]=-F1;RE)>,M61QOZ6"\I1*LW>WXH@#:"CA@Q94KMC:#
M;Z4S\O=!YCO-TN.PM+6U]WBE>7HPET!,T,'%,324XB5EZBU$^ZG%4S!\3A$%
MF81SC8+J&][-3!&B@QG>QW7$8M:36U$K_-B%KO;SZF[=/4ZUS%6%N=K).A<U
M5RN_&V2KGU;=8UQA$4,O\]:SZZD*687YVN]EZH9IKE9>=9;AP:Y9]9==36\C
M5?)!%H'AU1BLY1@*_IJ)Z\$9PR'8U9PYY@)KL#@^]JIW'<*^FSQLA3Q2RQ&-
M[6W7][&LRNYS2:IE+!<_P1_N728#?^[3&9,%3F24.9-53Q:,>NG%CSWKB3ED
MM(C:KZ]2 )YWX,7+;=XIP TK<9K4%RWM+><)?L,[VH^H31UL](Z?R^<7%K-A
M)A/@(W%#+_4XGQXLCRUDZ1LR@>.;7[M*&'>>^V3Y4>42603C@7['XJ7IVA<'
MF9BN@*%.<%Y%.EKK"AA;V)Q4$#Q2U8LZHT\7H7@9^"+K<*]:B+4D5!5[D^FT
MYKKQ4:<UJ]&DO)*IS'43!JW4ZL%'K=3JI-1>4C5;5T\XPB%,Y]TJ*?RUX;7.
MNSTDK]7+M:T1<;72/!U!TDKS='BMCM+<T6I6)4)U^392WO0&XC92B9 )-4-P
M]FG7E0G5T $XE>=I2S-U9>0#Y8/U+A3/S:H2BKN9"-Q31W$=F*H#/H^CFEKM
M+:HIY^Y];=#EJQ9/2H^MC,S$J,\7[YV%7<]\>-*: %"=(-UVC3Y1R^8!9@X+
MB#MGV";,>901DCQ T&,^HYXIH@C'V%3-G?,P0M-C8^RY9U+/6X"5^DR]L=\H
M>XT'C0O\P_H[M,;830X7?TGG%C8U_\)\-_1,-,4/W@^KO$$NJ3\U1+PH@U4_
M41N#/XT( X%GF;RK&C[PS#Q&?NSV4^W>*(_.W=8@KM5/]75;_4G<#>Y^ZGH!
MS-*;+<6ABE&;.P[5[C7.XZ'RQ_F3D1&S+<"T:!.(@:_LN^6+[HZX4"]BM6P<
ME[0.Y$&P,EY6B WV@'R&\0AV;_0G"_XZ^18@J,?$*F!N^%O^;2)P&*S\Q)M$
M(@\$SK@, _I"3XXO0I3=$7!.CA<WV0..DN"9V4]1*/(!XW-UA&J%/#(Z1E ]
M+F^*+M"-JA1@@JK^3AVJ4S<^ZE"=JBK%XX3:7.L0&WU;K'FM;XLUK\L.M]&E
M[3>5,LWQ9*CA9<Z,7'R9XGVN 7J=3"4D!6ARJMSH&JWL99L"5#E5?KSM&.>M
M3(G!U]1E5;\*]#5W<5="=:I1D66_@!"C?;&^*,LID++Z3'S;[AG=_OI]LVKE
MFJO/D6[;Z)]G AH.O2#US>)/ED,=4^OVDM1"MJJHU@E'8T??:'5T"Y9J\_!M
MW^BVBRD&71G[^VHR86: (2)QJ3B/!HR(?_O$=7@41S8V)B\T1A$\[.:;4P"B
M!7@/D^T@ ]Q:-?DX29YV>IJG->-I:S^6ZK.$W*=N6!#7(<72"C79E*H4P]_J
M&[VV3C&J'V/?MKI&N[U?-X-Z[#55XE*G9?1[2N9&E9@TLD.(=5DAU?&-_WPT
M]3#F:L<0J!6>CVS80%,F WFX^M?#V?7-QZN;!Q%BGG<SWV[O&XLZIX_L; 3[
MX[<S.H&7_$*H_4P7_IOWNVSS\FU8ZIF2J<<F__WFA\ UW[Q_X+2'X^$ED!FW
MV-]^IN]E3>A#\/ZUKTH7N48; A,]R"?;??8)SS+'0.S1@B0W^,.4JS)=^?H
M"2AD O-:RJI8<IV2<>CA)SSE87O9=?C:#Y+Z\? (<-%A4>5T@] Q#B^KNIN@
MABC858[KG'&K"C3'S">@0<QIMAB]>-F8S3UF6CP;0Z2(S%Q09O_A'QC$GU(/
M(,D+QV-R"G-\*HO2B_2LU9_@.U-96-S4X]KOS)V<A?@#WV>!WR /0($?.ZD,
MES%;M@PY)?T-I(Q31UY2OG[3CV1ZC<%SSV3U^H1\(\RERMBQ)$0260[/]W$"
M%]XS]]QQ:,:$A8_',.,Y78@T&IG$ED[),8&7P%8/: &0&XO4)9JES#R%^C&;
M, \7YC$8 =X9)<=9,Z07L"/UUKGK6[&%+1X'[KN/CB78#20*+&K#*MW)!/BT
M;K'I"<")PF9FQ'MJFG#.@#'@O0Q,>M0\8A6R3G^"WMH5X-^@F]Y^%?!X1Y++
M\B-IJ8.0!4F108J5$R>0:DP!3_S8;3<&L4;80\!?(M]"!\781F%/-:U(4DQG
M- "E'2RX:@MAY\7DOK-,<A]\^V-KT&@F"FTO56^@GK:93(8+R#STS"G."]Z[
M9D2<,68)=O8=,B) '9"VMP F-YHG)X"3G,O<>'<1 MAO=%\B?R_:8!ODXUYX
M-81@>*[)6)2Z*EK1"/.6IZNZ,W@)D-4%BSV$]WC\X__Z8=!N-W\=!E*BL0T,
M_ZSU*VYUC$\#WOSHT9E,TSUO7,242"_.<8D?@D&%HR[9<ZF..%%#'-'/)^ M
M<>J56'X[F9Q]$&UXR/V4 5^&CQX3&<*U$J0_P:)R>06"*7U"6X;;1F>R!1&H
M9EP[]3R\:IN)A/.5UD/^' UL&S4ZV%\,T!T(R0/Q H1:OFF[7/Q<SW.? 4W\
MFS$;!7R' BSRD4>,H6F/VQ%@#-X77>]%6 .,HGG'#;D919LN'#-\E<BZ_L86
M^!,/1!]^#\LS_41HG  _#^&MZ>3L^+<H599<$=K$\9SEV)<H'\[B__ADZ#@A
MKS PQPQX$)U/+NQ:K>;9_\3J!(5!BOAGNB"=UL%W(Q6<$2\I@ER,6Z*CW1*E
M*TF0AHC=-*"/L3,1)&=NT\4O(#@V;'AOB#7^[S=6)]&KUW!D)[ S_F^(!\,
M!/%)'*#@ SOZ^Z.0/U%68>2& 0@2;VSVQ?*_I;0O3J,62G@(ZR3^#$ZFH(P\
MKEMXA0NA=L!T!AJ!GD0M+4M5\*U:VCY<ZU@.Z)^9\%$(NR"86CYWD=3+#MX3
M>]TW G/=!I=#S[6%?^ .S:PQ0BS&48UV]8A:5T_4#F/'52)7&VA1'R+<PM8/
MCU)AN( 46<%4]'%$-Q!W2D4>/302IA;#""-FAEP)@15DF<PST$JXO+H5SBKQ
MD#QGH#61?N@3/,0$P5$^82#&(Y?0P<;\V!IY,T[88*;9,(_9\(9;(0S&$3;(
M513W!$<Z\B5$P[S5H6>MWEOVCO^TU1M'?ZVKO8.^+==QI"LKIL7$LJ4?C>L+
M4,,>;('V(L?$^=\&^< /4JXCRO&P!%UKA\45 _E$?:9/MS@'TP['_W][5_J;
M-A+%_Y515RNE%1C;0 BM5(D0:-BF),+):OMI96 2O#$VZR,)^]?O>V_&!Y"4
M'%PQSH<J*7ALOWG'[YU#!)(3?9;30[@L,351]W&'+J!%TKI/JLJTFHS@'))
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
M,3"]:<X16^>(.=C0GFET:R2-;CF*R'PTO[;V?+_88[GR*!C;7_\'4$L#!!0
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
M4"G0X<%)V4*T?]+?AQRCK'7$(+=*PV-#'+0.7C[?KT+"CY_Z_P=02P,$%
M  @ CX.*6&QZ>#8X!   >Q    \   !A96AR7V5X,S(P,2YH=&W56&MOVD@4
M_2MW6:5*)!L,)*O&ID@.F-3:!*?@2.E^60WV&&9KC]V9H<'[Z_>.>910DG2;
MQW8EA(COW->Y]YRQTIFI+.UV9I3$W8YB*J5=0F?B3[IHMZQF':V=QO)QYQ?3
M[.?1/*-<020H432&N61\"E[_W!U=$JFH,,UNI[&,-LGC$J0J4_JN%GHWH>E>
M^.=#&_Z:2\62TH%!, QM:%J% L4R*H'36Q!Y1GBMVRG6KOJ4.?;_\)9'EV[F
MP+WT+S[:NXX.7+JC<Q^S6,7" 447RB0IFW);L.E,.1A8*I'S:?<-G\C"\6[>
M^V=^".U6W6IV&BM;IU%TX=DK6/==6^5^F2P1CH>*K49[WBCT!W[/#?U@"%?7
MH_&U.PPA#%ZXW6\*:;Z%Z_JXWJO#V.M5Q33;)Y;QVF6X8W#[P57H]?]+,-80
MG%J_03" \+T'8W=TY@Z]L1G<7'@?P>V%VM*RK-;_=S$KWOO#OJ>9?GQR;V*?
M0Y1S3B/%<@ZW3,U S2A\F!.!N*4EC&B1"P5Y B[*$X14*AB7J#B9A$-]],VO
M;ULMR^GE64%X6?W5=(X HPURD6'EY@=(<E&%_;P,"Y3'J&$#.A'XH(36J8%P
MMXX-(!(2EJ)M4\F81G/!%,->"8_!6T0SPJ<4,%_&I-15X\<M!$LQUS+.G<*6
M#:SK,L WX)R4'#S!HD\RYP9<"2I9K-559^C-&$TP#^95[ N%($E8A#4C CKJ
MJD\#\)G&T(!B+N2<H+?*88MJ*T@KJNF^2)P76KFWCZ\/Z65<Q1\3,2&<2C-8
MI+0$-ZJPU\MHH)TH0_ME)7SB^2T"-:7V:^ZF(I.4KC--<A'CQ2,+$N%E9%O.
MEGM*$^4D.5?VOFO&N66QFJ').J@AD&E:D#C&&.]J5DUG$>L4,ZIO#[N)"UP9
MXK5A&>#XP/FBQQ"1=)57Y853VX8C(V+*N&WI (?-(]T&7JSQG6#_)D:(,UIQ
M(IFG2) (%R+5Z[E964$_SYF@^KZ6>GARLPJ'!(DAH'ER&!]M!OYUP3?+O9IZ
M\[1][.BEW%2-7^)A@/;7O1P-XWK+[7;5R->Q;O"XK^>=HX\7\2/ 'K:>9SB,
MH]IDI$(<I4T1QI%UC%=@KR='F-:V HFOAV1H,TE30#<J&$EQA++ J4FC\DH8
M)SS2SS%@S*K06BKPU#RM)I475%0IY8Y.U.^BAE^:0=OU:Y*8DOU-*Z94G#$3
MDK&TM'=9LW\FC[%R)\$S4>_$.KA_#GMVZZYW^W'B[M&B[11GI;TW_EDPZGLC
M\RP(P^ 2);!8@,Q3%J_Z;I\\.?.J.9IU&[(!G0;^.'<_#L$;^;W?Q\'P@;:;
MK>\'[4>I_A1F/\"[2:Y4GMU?_9T[]654Y57[?5!GONN-X24%]N>!0O/@\$HP
MU,<"!?(;%(XJ@CP1BSVR^?._@N_-TL<;QMYY77V]%[CJ7P/=?P!02P,$%
M  @ CX.*6'A(47%(!   FA0   \   !A96AR7V5X,S(P,BYH=&WM6']OXD80
M_2I3JIR(A,% 4EUL#LD!DUA*XAQV3KG^4RWV MO::]_N^H+[Z3MK?H1P4>[4
M$JX]54)(>'=FWLR\>;NF-U=ITN_-*8G[/<540ON$SL5O=-'MF)TFKO9:R\>]
MGPQCF$5%2KF"2%"B: R%9'P&[O#"&5\3J:@PC'ZOM?0VR>(2I"H3^JX6NO>A
MX5QY%S<6_%Y(Q::E#2/_)K2@;>8*%$NI!$X?0&0IX;5^+U^;ZEU&X/WJ+K<N
MS8R1<^U=?;1V#6VX=L87'D8Q\X4-BBZ401(VXY9@L[FRT;%4(N.SOGM_Z9U[
M(70[3;/3:ZV>]EIY'_8>>YUQK?^&3V1NOTZ4"!M#Q5:* W<<>B-OX(2>?P.W
M=^/@SKD)(?1?.=TO@+3?PETS: Z:$+B#"DR[>VHV#@W#"< 9^K>A._R>Q5B7
MX,S\!?P1A)<N!,[XW+EQ \._OW(_@C,(]4K'_$&(^1C%XQ!EG--(L8S# U-S
M4',*[PLBL$A)"6.:9T)!-@4'50A"*A4$)0I+*J&NM[[Y^6VG8]J#+,T)+ZM?
M;?L8T-LH$RG"--[#-!.5VT]+MT!YC%(UHA.!#TKHG#6PMIT3(!*F+,&E#9"
M1H5@BF%>A,?@+J(YX3,*&"YE4FK0^'%RP1(,M7*SC6N)?PVK 5X#!G/!)-PB
M]UG10)<80K'/%#ZPB,*MH)+%6E$QY1'CA$=4FS"Z_LE( OYTBIM%A0DA"JIT
M'FBA(Z]*T0#<H<O<@+P0LB#H4V6P-7JKJE>CIW,G<99K#=_>OMZDR;GR'Q Q
M(9Q*PU\DM 0GJK!J<C9PG:B&MDM+^(-G#UC,&;4.R55%)@E=1YID(L8C2.8D
MPF/),NTM\X1.E3W-N+*>.W#L!Q:K.2Z91S4L9)+D)([1Q[N:6=-1Q#K$G.IS
MQ&J?YHMJ(5XO+!V<'-F?=1LBDJSBJBRW:]OET!@,R?ZD%9 *DC$E*4M*:Q=4
M2L2,<<O4L>KM8YTQGL;QD[BO%"[$SJ^&<5HD.)D1TBS1@[$9%D$_%4Q0?1^0
MFA)R0[ ZP8D4T#ZMQ\<;&CV.UF:L5EQJGW5/;$WN38+X)5XN^S].<<D-QO7P
M6=TJYT=>;:J\ATKN>/UZ:J_<V7KGX$1B'"4Y)14[4/\581QUA_&*&&N6$:8/
M@!P%41.JH9=)D@":4:%%$!=R9)AL5%;3C3BBPYA5KK4\XJXBJ5B5Y514(>6.
M4C:?]@*_M(;LM=-?TZ6= 'L2GU/S:"\M>V8.G@;J[E7EGM'X;33GI?4LE'-_
M/'3'QKD?AOXU'BWY F26L'A5S>[I(4&V9 L&EV,OJ YZ[^Z%XK4[K]*E TCF
M@13R!5&:9$IEZ5[*MWTM^^Z2_P.T9E_GQ3==D'=NF'^; M]PS?Z?&_\>;O1H
MVJ_?"H;MRK%?CYW3'7.B*"NXTO]'K1J)]QPT.$0#G[E#_$??T(=XW;)VWG /
M$WFKKOJ?P_Y?4$L! A0#%     @ CX.*6)DK8Y]K#0  EH8  !$
M     ( !     &%E:'(M,C R-# R,CDN>'-D4$L! A0#%     @ CX.*6,&
M1)\,$   \KP  !4              ( !F@T  &%E:'(M,C R-# R,CE?8V%L
M+GAM;%!+ 0(4 Q0    ( (^#BEAQKUNRDQL  #.I 0 5              "
M =D=  !A96AR+3(P,C0P,C(Y7V1E9BYX;6Q02P$"% ,4    " "/@XI8\][;
MHGM(   KGP, %0              @ &?.0  865H<BTR,#(T,#(R.5]L86(N
M>&UL4$L! A0#%     @ CX.*6"\59?,K.P  >"0# !4              ( !
M38(  &%E:'(M,C R-# R,CE?<')E+GAM;%!+ 0(4 Q0    ( (^#BEA25/>K
MO^(  *Y1$  ,              "  :N]  !A96AR7S$P<2YH=&U02P$"% ,4
M    " "/@XI8"NXLY38'  !,)0  #P              @ &4H $ 865H<E]E
M>#,Q,#$N:'1M4$L! A0#%     @ CX.*6'Z&T)4S!P  724   \
M     ( !]Z<! &%E:')?97@S,3 R+FAT;5!+ 0(4 Q0    ( (^#BEAL>G@V
M. 0  'L0   /              "  5>O 0!A96AR7V5X,S(P,2YH=&U02P$"
M% ,4    " "/@XI8>$A1<4@$  ":%   #P              @ &\LP$ 865H
B<E]E>#,R,#(N:'1M4$L%!@     *  H >0(  #&X 0    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>aehr_10q_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:aehr="http://aehr.com/20240229"
  xmlns:country="http://xbrl.sec.gov/country/2023"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="aehr-20240229.xsd" xlink:type="simple"/>
    <context id="From2023-06-01to2024-02-29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="AsOf2023-05-31_aehr_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">aehr:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_aehr_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">aehr:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_country_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_country_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_aehr_NonvestedRSUActivtyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">aehr:NonvestedRSUActivtyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="From2023-06-01to2023-08-31_aehr_NonvestedRSUActivtyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">aehr:NonvestedRSUActivtyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2023-08-31</endDate>
        </period>
    </context>
    <context id="From2023-12-01to2024-02-29_aehr_NonvestedRSUActivtyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">aehr:NonvestedRSUActivtyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-09-01to2023-11-30_aehr_NonvestedRSUActivtyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">aehr:NonvestedRSUActivtyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-09-01</startDate>
            <endDate>2023-11-30</endDate>
        </period>
    </context>
    <context id="AsOf2023-08-31_aehr_NonvestedRSUActivtyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">aehr:NonvestedRSUActivtyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-08-31</instant>
        </period>
    </context>
    <context id="AsOf2023-11-30_aehr_NonvestedRSUActivtyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">aehr:NonvestedRSUActivtyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-11-30</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_aehr_NonvestedRSUActivtyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">aehr:NonvestedRSUActivtyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="From2023-12-01to2024-02-29_us-gaap_ResearchAndDevelopmentExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-06-01to2023-02-28_us-gaap_ResearchAndDevelopmentExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_us-gaap_ResearchAndDevelopmentExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-12-01to2023-02-28_us-gaap_ResearchAndDevelopmentExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-12-01to2024-02-29_us-gaap_GeneralAndAdministrativeExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-06-01to2023-02-28_us-gaap_GeneralAndAdministrativeExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_us-gaap_GeneralAndAdministrativeExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-12-01to2023-02-28_us-gaap_GeneralAndAdministrativeExpenseMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-12-01to2024-02-29_us-gaap_CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-12-01to2023-02-28_us-gaap_CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_us-gaap_CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-06-01to2023-02-28_us-gaap_CostOfSalesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="AsOf2025-05-30_srt_ScenarioForecastMember_us-gaap_SubsequentEventMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-05-30</instant>
        </period>
    </context>
    <context id="AsOf2024-05-30_srt_ScenarioForecastMember_us-gaap_SubsequentEventMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-05-30</instant>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_aehr_ServicesTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">aehr:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-12-01to2023-02-28_aehr_ServicesTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">aehr:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-12-01to2024-02-29_aehr_ServicesTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">aehr:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-06-01to2023-02-28_aehr_ServicesTransferredOverTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">aehr:ServicesTransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_aehr_ProductsAndServicesTransferredAtAPointInTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">aehr:ProductsAndServicesTransferredAtAPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-12-01to2023-02-28_aehr_ProductsAndServicesTransferredAtAPointInTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">aehr:ProductsAndServicesTransferredAtAPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-12-01to2024-02-29_aehr_ProductsAndServicesTransferredAtAPointInTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">aehr:ProductsAndServicesTransferredAtAPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-06-01to2023-02-28_aehr_ProductsAndServicesTransferredAtAPointInTimeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">aehr:ProductsAndServicesTransferredAtAPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-12-01to2023-02-28_aehr_ServicesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:ServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-12-01to2024-02-29_aehr_ServicesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:ServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-12-01to2023-02-28_aehr_ContactorsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:ContactorsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-12-01to2024-02-29_aehr_ContactorsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:ContactorsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-12-01to2023-02-28_aehr_SystemsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:SystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-12-01to2024-02-29_aehr_SystemsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:SystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-06-01to2023-02-28_aehr_ServicesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:ServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-06-01to2023-02-28_aehr_ContactorsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:ContactorsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-06-01to2023-02-28_aehr_SystemsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:SystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_aehr_ContactorsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:ContactorsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_aehr_ServicesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:ServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_aehr_SystemsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:SystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-06-01to2023-02-28_country_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-06-01to2023-02-28_srt_AsiaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-06-01to2023-02-28_srt_EuropeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-12-01to2023-02-28_srt_EuropeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-12-01to2023-02-28_srt_AsiaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-12-01to2024-02-29_srt_EuropeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-12-01to2024-02-29_srt_AsiaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-12-01to2023-02-28_country_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-12-01to2024-02-29_country_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_srt_AsiaMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_srt_EuropeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_country_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="AsOf2024-02-29_aehr_UnrealizedLossOnInvestmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OtherComprehensiveIncomeLocationAxis">aehr:UnrealizedLossOnInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_aehr_CumulativeTranslationAdjustmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:CumulativeTranslationAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_aehr_UnrealizedLossOnInvestmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OtherComprehensiveIncomeLocationAxis">aehr:UnrealizedLossOnInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_aehr_CumulativeTranslationAdjustmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:CumulativeTranslationAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="AsOf2023-05-31_aehr_UnrealizedLossOnInvestmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:OtherComprehensiveIncomeLocationAxis">aehr:UnrealizedLossOnInvestmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_aehr_CumulativeTranslationAdjustmentsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">aehr:CumulativeTranslationAdjustmentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2021-08-25">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
        </entity>
        <period>
            <instant>2021-08-25</instant>
        </period>
    </context>
    <context id="From2023-02-01to2023-02-08">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
        </entity>
        <period>
            <startDate>2023-02-01</startDate>
            <endDate>2023-02-08</endDate>
        </period>
    </context>
    <context id="From2021-10-01to2021-10-08">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-10-08</endDate>
        </period>
    </context>
    <context id="AsOf2023-02-08">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
        </entity>
        <period>
            <instant>2023-02-08</instant>
        </period>
    </context>
    <context id="AsOf2021-10-08">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
        </entity>
        <period>
            <instant>2021-10-08</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_aehr_ThirdAmendmentToLoanAndSecurityAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:ThirdAmendmentToLoanAndSecurityAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_aehr_ThirdAmendmentToLoanAndSecurityAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:ThirdAmendmentToLoanAndSecurityAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_aehr_FirstAmendmentToLoanAndSecurityAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:FirstAmendmentToLoanAndSecurityAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_aehr_SecondAmendmentToLoanAndSecurityAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:SecondAmendmentToLoanAndSecurityAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_aehr_OriginalLoanAndSecurityAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:OriginalLoanAndSecurityAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="AsOf2024-02-29_aehr_SecondAmendmentToLoanAndSecurityAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:SecondAmendmentToLoanAndSecurityAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_aehr_OriginalLoanAndSecurityAgreementMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:OriginalLoanAndSecurityAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="From2023-06-01to2023-08-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2023-08-31</endDate>
        </period>
    </context>
    <context id="AsOf2023-05-31_aehr_EstimatedFairValueMember_aehr_UnitedStateTreasurySecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:UnitedStateTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:EstimatedFairValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_aehr_GrossUnrealizedLossMember_aehr_UnitedStateTreasurySecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:UnitedStateTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:GrossUnrealizedLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_aehr_CostMember_aehr_UnitedStateTreasurySecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:UnitedStateTreasurySecuritiesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:CostMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_aehr_EstimatedFairValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:EstimatedFairValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_aehr_EstimatedFairValueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:EstimatedFairValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_aehr_GrossUnrealizedLossMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:GrossUnrealizedLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_aehr_GrossUnrealizedLossMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:GrossUnrealizedLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_aehr_CostMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:CostMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_aehr_CostMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:CostMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_aehr_EstimatedFairValueMember_aehr_MoneyMarketFundMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:EstimatedFairValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_aehr_GrossUnrealizedLossMember_aehr_MoneyMarketFundMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:GrossUnrealizedLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_aehr_EstimatedFairValueMember_aehr_MoneyMarketFundMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:EstimatedFairValueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_aehr_GrossUnrealizedLossMember_aehr_MoneyMarketFundMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:GrossUnrealizedLossMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_aehr_CostMember_aehr_MoneyMarketFundMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:CostMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_aehr_CostMember_aehr_MoneyMarketFundMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:CostMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_FairValueInputsLevel3Member_aehr_MoneyMarketFundMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_FairValueInputsLevel2Member_aehr_MoneyMarketFundMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_FairValueInputsLevel1Member_aehr_MoneyMarketFundMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_aehr_MoneyMarketFundMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel3Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:AssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel3Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:AssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:AssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel2Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:AssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:AssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel1Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:AssetsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_AssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:AssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_us-gaap_AssetsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByAssetClassAxis">us-gaap:AssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_us-gaap_FairValueInputsLevel1Member_aehr_USTreasurySecurityMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:USTreasurySecurityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_aehr_UStreasurysecuritiesMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">aehr:UStreasurysecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_us-gaap_FairValueInputsLevel3Member_aehr_MoneyMarketFundMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_us-gaap_FairValueInputsLevel2Member_aehr_MoneyMarketFundMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_us-gaap_FairValueInputsLevel1Member_aehr_MoneyMarketFundMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_aehr_MoneyMarketFundMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">aehr:MoneyMarketFundMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_aehr_RevenueMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:RevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_aehr_RevenuesMember_aehr_CustomerAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">aehr:RevenuesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-09-01to2023-05-31_us-gaap_AccountsReceivableMember_aehr_CustomerCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-09-01</startDate>
            <endDate>2023-05-31</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_aehr_RevenuesMember_aehr_CustomerCMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">aehr:RevenuesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerCMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-06-01to2023-02-28_aehr_RevenuesMember_aehr_CustomerBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">aehr:RevenuesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-06-01to2023-02-28_aehr_RevenuesMember_aehr_CustomerAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">aehr:RevenuesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_us-gaap_AccountsReceivableMember_aehr_CustomerAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-12-01to2023-02-28_aehr_RevenuesMember_aehr_CustomerBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">aehr:RevenuesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-12-01to2023-02-28_aehr_RevenuesMember_aehr_CustomerAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">aehr:RevenuesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-12-01to2024-02-29_aehr_RevenuesMember_aehr_CustomerBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">aehr:RevenuesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-12-01to2024-02-29_aehr_RevenuesMember_aehr_CustomerAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">aehr:RevenuesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-09-01to2023-05-31_us-gaap_AccountsReceivableMember_aehr_CustomerAMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-09-01</startDate>
            <endDate>2023-05-31</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_us-gaap_AccountsReceivableMember_aehr_CustomerBMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">aehr:CustomerBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="From2023-12-01to2024-02-29_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-12-01to2024-02-29_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-12-01to2024-02-29_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-12-01to2024-02-29_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="AsOf2023-11-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
        </entity>
        <period>
            <instant>2023-11-30</instant>
        </period>
    </context>
    <context id="AsOf2023-11-30_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-11-30</instant>
        </period>
    </context>
    <context id="AsOf2023-11-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-11-30</instant>
        </period>
    </context>
    <context id="AsOf2023-11-30_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-11-30</instant>
        </period>
    </context>
    <context id="AsOf2023-11-30_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-11-30</instant>
        </period>
    </context>
    <context id="AsOf2024-02-28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
        </entity>
        <period>
            <instant>2024-02-28</instant>
        </period>
    </context>
    <context id="AsOf2024-02-28_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-28</instant>
        </period>
    </context>
    <context id="AsOf2024-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-28</instant>
        </period>
    </context>
    <context id="AsOf2024-02-28_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-28</instant>
        </period>
    </context>
    <context id="AsOf2024-02-28_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-02-28</instant>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-28</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-28_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-28</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-28</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-28_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-28</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-28_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-28</endDate>
        </period>
    </context>
    <context id="AsOf2023-05-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2023-05-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="From2022-12-01to2023-02-28_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-12-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-12-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-12-01to2023-02-28_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="AsOf2022-11-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
        </entity>
        <period>
            <instant>2022-11-30</instant>
        </period>
    </context>
    <context id="AsOf2022-11-30_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-11-30</instant>
        </period>
    </context>
    <context id="AsOf2022-11-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-11-30</instant>
        </period>
    </context>
    <context id="AsOf2022-11-30_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-11-30</instant>
        </period>
    </context>
    <context id="AsOf2022-11-30_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-11-30</instant>
        </period>
    </context>
    <context id="AsOf2023-02-28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="AsOf2023-02-28_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="AsOf2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="AsOf2023-02-28_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="AsOf2023-02-28_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-02-28</instant>
        </period>
    </context>
    <context id="From2022-06-01to2023-02-28_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-06-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-06-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-06-01to2023-02-28_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="AsOf2022-05-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
        </entity>
        <period>
            <instant>2022-05-31</instant>
        </period>
    </context>
    <context id="AsOf2022-05-31_us-gaap_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-31</instant>
        </period>
    </context>
    <context id="AsOf2022-05-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-31</instant>
        </period>
    </context>
    <context id="AsOf2022-05-31_us-gaap_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-31</instant>
        </period>
    </context>
    <context id="AsOf2022-05-31_us-gaap_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-05-31</instant>
        </period>
    </context>
    <context id="From2022-06-01to2023-02-28_us-gaap_ProductMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-12-01to2023-02-28_us-gaap_ProductMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_us-gaap_ProductMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-12-01to2024-02-29_us-gaap_ProductMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-06-01to2023-02-28_us-gaap_ServiceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-12-01to2023-02-28_us-gaap_ServiceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-12-01to2024-02-29_us-gaap_ServiceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2023-06-01to2024-02-29_us-gaap_ServiceMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-06-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="From2022-06-01to2023-02-28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
        </entity>
        <period>
            <startDate>2022-06-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2022-12-01to2023-02-28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
        </entity>
        <period>
            <startDate>2022-12-01</startDate>
            <endDate>2023-02-28</endDate>
        </period>
    </context>
    <context id="From2023-12-01to2024-02-29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
        </entity>
        <period>
            <startDate>2023-12-01</startDate>
            <endDate>2024-02-29</endDate>
        </period>
    </context>
    <context id="AsOf2023-05-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
        </entity>
        <period>
            <instant>2023-05-31</instant>
        </period>
    </context>
    <context id="AsOf2024-02-29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
        </entity>
        <period>
            <instant>2024-02-29</instant>
        </period>
    </context>
    <context id="AsOf2024-04-01">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001040470</identifier>
        </entity>
        <period>
            <instant>2024-04-01</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>
    <unit id="Pure">
        <measure>pure</measure>
    </unit>
    <dei:EntityCentralIndexKey contextRef="From2023-06-01to2024-02-29" id="ixv-12210">0001040470</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag contextRef="From2023-06-01to2024-02-29" id="ixv-12211">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate contextRef="From2023-06-01to2024-02-29" id="ixv-12212">--05-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalPeriodFocus contextRef="From2023-06-01to2024-02-29" id="ixv-12213">Q3</dei:DocumentFiscalPeriodFocus>
    <dei:DocumentFiscalYearFocus contextRef="From2023-06-01to2024-02-29" id="ixv-12214">2024</dei:DocumentFiscalYearFocus>
    <us-gaap:PreferredStockNoParValue
      contextRef="AsOf2023-05-31"
      decimals="INF"
      id="ixv-12215"
      unitRef="USDPShares">0.01</us-gaap:PreferredStockNoParValue>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2023-05-31"
      decimals="0"
      id="ixv-12216"
      unitRef="Shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2023-05-31"
      decimals="0"
      id="ixv-12217"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="ixv-12218"
      unitRef="Shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2023-05-31"
      decimals="0"
      id="ixv-12219"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:PreferredStockSharesOutstanding
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="ixv-12220"
      unitRef="Shares">0</us-gaap:PreferredStockSharesOutstanding>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2023-05-31"
      decimals="INF"
      id="ixv-12221"
      unitRef="USDPShares">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2023-05-31"
      decimals="0"
      id="ixv-12222"
      unitRef="Shares">75000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="ixv-12223"
      unitRef="Shares">28906000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="AsOf2023-05-31"
      decimals="0"
      id="ixv-12224"
      unitRef="Shares">28539000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:SecuritiesBorrowedAllowanceForCreditLoss
      contextRef="AsOf2023-05-31"
      decimals="0"
      id="ixv-12225"
      unitRef="USD">0</us-gaap:SecuritiesBorrowedAllowanceForCreditLoss>
    <aehr:FairValueAssetsLevelOneToLevelTwoTransfersAmount
      contextRef="From2023-06-01to2023-08-31"
      decimals="0"
      id="ixv-12226"
      unitRef="USD">0</aehr:FairValueAssetsLevelOneToLevelTwoTransfersAmount>
    <us-gaap:RestrictedCashNoncurrent
      contextRef="AsOf2023-05-31"
      decimals="0"
      id="ixv-12227"
      unitRef="USD">150000</us-gaap:RestrictedCashNoncurrent>
    <us-gaap:FinancialLiabilitiesFairValueDisclosure
      contextRef="AsOf2023-05-31"
      decimals="0"
      id="ixv-12228"
      unitRef="USD">0</us-gaap:FinancialLiabilitiesFairValueDisclosure>
    <us-gaap:FinancialLiabilitiesFairValueDisclosure
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="ixv-12229"
      unitRef="USD">0</us-gaap:FinancialLiabilitiesFairValueDisclosure>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="From2023-12-01to2024-02-29"
      decimals="0"
      id="ixv-12230"
      unitRef="Shares">0</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <dei:DocumentType contextRef="From2023-06-01to2024-02-29" id="ixv-13651">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="From2023-06-01to2024-02-29" id="ixv-13652">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="From2023-06-01to2024-02-29" id="ixv-13653">2024-02-29</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport contextRef="From2023-06-01to2024-02-29" id="ixv-13654">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="From2023-06-01to2024-02-29" id="ixv-13655">000-22893</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="From2023-06-01to2024-02-29" id="ixv-13656">AEHR TEST SYSTEMS</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="From2023-06-01to2024-02-29" id="ixv-13657">CA</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="From2023-06-01to2024-02-29" id="ixv-13658">94-2424084</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="From2023-06-01to2024-02-29" id="ixv-13659">400 Kato Terrace</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="From2023-06-01to2024-02-29" id="ixv-13660">Fremont</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="From2023-06-01to2024-02-29" id="ixv-13661">CA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="From2023-06-01to2024-02-29" id="ixv-13662">94539</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="From2023-06-01to2024-02-29" id="ixv-13663">510</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="From2023-06-01to2024-02-29" id="ixv-13664">623-9400</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="From2023-06-01to2024-02-29" id="ixv-13665">Common Stock par value of $0.01 per share</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="From2023-06-01to2024-02-29" id="ixv-13666">AEHR</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="From2023-06-01to2024-02-29" id="ixv-13667">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus contextRef="From2023-06-01to2024-02-29" id="ixv-13668">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="From2023-06-01to2024-02-29" id="ixv-13669">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="From2023-06-01to2024-02-29" id="ixv-13670">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="From2023-06-01to2024-02-29" id="ixv-13671">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="From2023-06-01to2024-02-29" id="ixv-13672">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="From2023-06-01to2024-02-29" id="ixv-13673">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="AsOf2024-04-01"
      decimals="INF"
      id="ixv-13674"
      unitRef="Shares">28914729</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_4"
      unitRef="USD">47581000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_5"
      unitRef="USD">30054000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:ShortTermInvestments
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_6"
      unitRef="USD">0</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_7"
      unitRef="USD">17853000</us-gaap:ShortTermInvestments>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_8"
      unitRef="USD">5468000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_9"
      unitRef="USD">16594000</us-gaap:AccountsReceivableNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_10"
      unitRef="USD">38085000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_11"
      unitRef="USD">23908000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_12"
      unitRef="USD">1215000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_13"
      unitRef="USD">621000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_14"
      unitRef="USD">92349000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_15"
      unitRef="USD">89030000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_16"
      unitRef="USD">3150000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_17"
      unitRef="USD">2759000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_18"
      unitRef="USD">5863000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_19"
      unitRef="USD">6123000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_20"
      unitRef="USD">234000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_21"
      unitRef="USD">231000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_22"
      unitRef="USD">101596000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_23"
      unitRef="USD">98143000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_26"
      unitRef="USD">4979000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_27"
      unitRef="USD">9206000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_28"
      unitRef="USD">3287000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_29"
      unitRef="USD">4143000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_30"
      unitRef="USD">428000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_31"
      unitRef="USD">137000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:DeferredRevenueCurrent
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_32"
      unitRef="USD">486000</us-gaap:DeferredRevenueCurrent>
    <us-gaap:DeferredRevenueCurrent
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_33"
      unitRef="USD">2822000</us-gaap:DeferredRevenueCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_34"
      unitRef="USD">9180000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_35"
      unitRef="USD">16308000</us-gaap:LiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_36"
      unitRef="USD">5878000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_37"
      unitRef="USD">6163000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:DeferredRevenueNoncurrent
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_38"
      unitRef="USD">0</us-gaap:DeferredRevenueNoncurrent>
    <us-gaap:DeferredRevenueNoncurrent
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_39"
      unitRef="USD">31000</us-gaap:DeferredRevenueNoncurrent>
    <us-gaap:OtherLiabilities
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_40"
      unitRef="USD">41000</us-gaap:OtherLiabilities>
    <us-gaap:OtherLiabilities
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_41"
      unitRef="USD">41000</us-gaap:OtherLiabilities>
    <us-gaap:Liabilities
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_42"
      unitRef="USD">15099000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_43"
      unitRef="USD">22543000</us-gaap:Liabilities>
    <us-gaap:PreferredStockNoParValue
      contextRef="AsOf2024-02-29"
      decimals="INF"
      id="fid_228"
      unitRef="USDPShares">0.01</us-gaap:PreferredStockNoParValue>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_230"
      unitRef="Shares">10000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_46"
      unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_47"
      unitRef="USD">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="AsOf2024-02-29"
      decimals="INF"
      id="fid_236"
      unitRef="USDPShares">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_238"
      unitRef="Shares">75000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_240"
      unitRef="Shares">28906000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_239"
      unitRef="Shares">28539000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_48"
      unitRef="USD">289000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_49"
      unitRef="USD">285000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_50"
      unitRef="USD">129366000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_51"
      unitRef="USD">127776000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_52"
      unitRef="USD">-144000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_53"
      unitRef="USD">-155000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_54"
      unitRef="USD">-43014000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_55"
      unitRef="USD">-52306000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_56"
      unitRef="USD">86497000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_57"
      unitRef="USD">75600000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_58"
      unitRef="USD">101596000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_59"
      unitRef="USD">98143000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-12-01to2024-02-29_us-gaap_ProductMember"
      decimals="-3"
      id="fid_551"
      unitRef="USD">6730000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-12-01to2023-02-28_us-gaap_ProductMember"
      decimals="-3"
      id="fid_552"
      unitRef="USD">16120000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-06-01to2024-02-29_us-gaap_ProductMember"
      decimals="-3"
      id="fid_553"
      unitRef="USD">45924000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-06-01to2023-02-28_us-gaap_ProductMember"
      decimals="-3"
      id="fid_554"
      unitRef="USD">39715000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-12-01to2024-02-29_us-gaap_ServiceMember"
      decimals="-3"
      id="fid_543"
      unitRef="USD">833000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-12-01to2023-02-28_us-gaap_ServiceMember"
      decimals="-3"
      id="fid_624"
      unitRef="USD">1086000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-06-01to2024-02-29_us-gaap_ServiceMember"
      decimals="-3"
      id="fid_623"
      unitRef="USD">3694000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-06-01to2023-02-28_us-gaap_ServiceMember"
      decimals="-3"
      id="fid_625"
      unitRef="USD">2977000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_630"
      unitRef="USD">7563000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_632"
      unitRef="USD">17206000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_631"
      unitRef="USD">49618000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_633"
      unitRef="USD">42692000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="From2023-12-01to2024-02-29_us-gaap_ProductMember"
      decimals="-3"
      id="fid_560"
      unitRef="USD">3948000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2022-12-01to2023-02-28_us-gaap_ProductMember"
      decimals="-3"
      id="fid_561"
      unitRef="USD">7728000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2023-06-01to2024-02-29_us-gaap_ProductMember"
      decimals="-3"
      id="fid_562"
      unitRef="USD">23574000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2022-06-01to2023-02-28_us-gaap_ProductMember"
      decimals="-3"
      id="fid_563"
      unitRef="USD">19739000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2023-12-01to2024-02-29_us-gaap_ServiceMember"
      decimals="-3"
      id="fid_626"
      unitRef="USD">459000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2022-12-01to2023-02-28_us-gaap_ServiceMember"
      decimals="-3"
      id="fid_628"
      unitRef="USD">603000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2023-06-01to2024-02-29_us-gaap_ServiceMember"
      decimals="-3"
      id="fid_627"
      unitRef="USD">1949000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2022-06-01to2023-02-28_us-gaap_ServiceMember"
      decimals="-3"
      id="fid_629"
      unitRef="USD">1686000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_634"
      unitRef="USD">4407000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_636"
      unitRef="USD">8331000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_635"
      unitRef="USD">25523000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_637"
      unitRef="USD">21425000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_639"
      unitRef="USD">3156000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_640"
      unitRef="USD">8875000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_638"
      unitRef="USD">24095000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_641"
      unitRef="USD">21267000</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_569"
      unitRef="USD">2139000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_570"
      unitRef="USD">1832000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_571"
      unitRef="USD">6568000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_572"
      unitRef="USD">4881000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_573"
      unitRef="USD">3063000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_574"
      unitRef="USD">3250000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_575"
      unitRef="USD">9990000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_576"
      unitRef="USD">8650000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_577"
      unitRef="USD">5202000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_578"
      unitRef="USD">5082000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_579"
      unitRef="USD">16558000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_580"
      unitRef="USD">13531000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_581"
      unitRef="USD">-2046000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_582"
      unitRef="USD">3793000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_583"
      unitRef="USD">7537000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_584"
      unitRef="USD">7736000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_585"
      unitRef="USD">584000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_586"
      unitRef="USD">374000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_587"
      unitRef="USD">1796000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_588"
      unitRef="USD">758000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_589"
      unitRef="USD">-2000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_590"
      unitRef="USD">-18000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_591"
      unitRef="USD">2000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_592"
      unitRef="USD">1000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_593"
      unitRef="USD">-1464000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_594"
      unitRef="USD">4149000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_595"
      unitRef="USD">9335000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_596"
      unitRef="USD">8495000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_597"
      unitRef="USD">7000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_598"
      unitRef="USD">17000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_599"
      unitRef="USD">43000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_600"
      unitRef="USD">49000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_601"
      unitRef="USD">-1471000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_602"
      unitRef="USD">4132000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_603"
      unitRef="USD">9292000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_604"
      unitRef="USD">8446000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-12-01to2024-02-29"
      decimals="INF"
      id="fid_606"
      unitRef="USDPShares">-0.05</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-12-01to2023-02-28"
      decimals="INF"
      id="fid_607"
      unitRef="USDPShares">0.15</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-06-01to2024-02-29"
      decimals="INF"
      id="fid_608"
      unitRef="USDPShares">0.32</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-06-01to2023-02-28"
      decimals="INF"
      id="fid_609"
      unitRef="USDPShares">0.31</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-12-01to2024-02-29"
      decimals="INF"
      id="fid_610"
      unitRef="USDPShares">-0.05</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-12-01to2023-02-28"
      decimals="INF"
      id="fid_611"
      unitRef="USDPShares">0.14</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-06-01to2024-02-29"
      decimals="INF"
      id="fid_612"
      unitRef="USDPShares">0.31</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-06-01to2023-02-28"
      decimals="INF"
      id="fid_613"
      unitRef="USDPShares">0.29</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_615"
      unitRef="Shares">28866000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_616"
      unitRef="Shares">27893000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_617"
      unitRef="Shares">28773000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfSharesIssuedBasic
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_618"
      unitRef="Shares">27571000</us-gaap:WeightedAverageNumberOfSharesIssuedBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_619"
      unitRef="Shares">28866000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_620"
      unitRef="Shares">29373000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_621"
      unitRef="Shares">29670000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_622"
      unitRef="Shares">29080000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_149"
      unitRef="USD">-1471000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_150"
      unitRef="USD">4132000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_151"
      unitRef="USD">9292000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_152"
      unitRef="USD">8446000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_154"
      unitRef="USD">-10000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_155"
      unitRef="USD">9000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_156"
      unitRef="USD">-6000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_157"
      unitRef="USD">-35000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationGainLossArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_158"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_159"
      unitRef="USD">-16000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_160"
      unitRef="USD">17000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_161"
      unitRef="USD">-22000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_912"
      unitRef="USD">1481000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_914"
      unitRef="USD">-4125000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_913"
      unitRef="USD">-9303000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_915"
      unitRef="USD">-8389000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:SharesIssued
      contextRef="AsOf2023-11-30_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_642"
      unitRef="Shares">28826000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-11-30_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_643"
      unitRef="USD">288000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-11-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_644"
      unitRef="USD">128543000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-11-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_645"
      unitRef="USD">-134000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-11-30_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_646"
      unitRef="USD">-41543000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-11-30"
      decimals="-3"
      id="fid_647"
      unitRef="USD">87154000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="From2023-12-01to2024-02-29_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_648"
      unitRef="Shares">81000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2023-12-01to2024-02-29_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_649"
      unitRef="USD">1000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2023-12-01to2024-02-29_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_650"
      unitRef="USD">177000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2023-12-01to2024-02-29_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_651"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2023-12-01to2024-02-29_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_652"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_653"
      unitRef="USD">178000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="From2023-12-01to2024-02-29_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_654"
      unitRef="Shares">1000</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="From2023-12-01to2024-02-29_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_655"
      unitRef="USD">0</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="From2023-12-01to2024-02-29_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_656"
      unitRef="USD">20000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="From2023-12-01to2024-02-29_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_657"
      unitRef="USD">0</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="From2023-12-01to2024-02-29_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_658"
      unitRef="USD">0</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_659"
      unitRef="USD">20000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-12-01to2024-02-29_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_660"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-12-01to2024-02-29_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_661"
      unitRef="USD">666000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-12-01to2024-02-29_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_662"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-12-01to2024-02-29_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_663"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_664"
      unitRef="USD">666000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-12-01to2024-02-29_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_665"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-12-01to2024-02-29_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_666"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-12-01to2024-02-29_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_667"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-12-01to2024-02-29_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_668"
      unitRef="USD">-1471000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_669"
      unitRef="USD">-1471000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2023-12-01to2024-02-29_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_670"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2023-12-01to2024-02-29_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_671"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2023-12-01to2024-02-29_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_672"
      unitRef="USD">-10000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2023-12-01to2024-02-29_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_673"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_674"
      unitRef="USD">-10000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:SharesIssued
      contextRef="AsOf2024-02-29_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_675"
      unitRef="Shares">28906000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-02-29_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_676"
      unitRef="USD">289000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-02-29_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_677"
      unitRef="USD">129366000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-02-29_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_678"
      unitRef="USD">-144000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-02-29_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_679"
      unitRef="USD">-43014000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_680"
      unitRef="USD">86497000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="AsOf2023-05-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_725"
      unitRef="Shares">28539000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-05-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_726"
      unitRef="USD">285000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-05-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_727"
      unitRef="USD">127776000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-05-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_728"
      unitRef="USD">-155000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-05-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_729"
      unitRef="USD">-52306000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_730"
      unitRef="USD">75600000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="From2023-06-01to2024-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_731"
      unitRef="Shares">402000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2023-06-01to2024-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_732"
      unitRef="USD">4000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2023-06-01to2024-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_733"
      unitRef="USD">1266000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2023-06-01to2024-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_734"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2023-06-01to2024-02-28_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_735"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2023-06-01to2024-02-28"
      decimals="-3"
      id="fid_736"
      unitRef="USD">1270000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <aehr:IssuanceCostOfCommonStockOffering
      contextRef="From2023-06-01to2024-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_737"
      unitRef="USD">0</aehr:IssuanceCostOfCommonStockOffering>
    <aehr:IssuanceCostOfCommonStockOffering
      contextRef="From2023-06-01to2024-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_738"
      unitRef="USD">-72000</aehr:IssuanceCostOfCommonStockOffering>
    <aehr:IssuanceCostOfCommonStockOffering
      contextRef="From2023-06-01to2024-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_739"
      unitRef="USD">0</aehr:IssuanceCostOfCommonStockOffering>
    <aehr:IssuanceCostOfCommonStockOffering
      contextRef="From2023-06-01to2024-02-28_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_740"
      unitRef="USD">0</aehr:IssuanceCostOfCommonStockOffering>
    <aehr:IssuanceCostOfCommonStockOffering
      contextRef="From2023-06-01to2024-02-28"
      decimals="-3"
      id="fid_741"
      unitRef="USD">-72000</aehr:IssuanceCostOfCommonStockOffering>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="From2023-06-01to2024-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_742"
      unitRef="Shares">35000</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="From2023-06-01to2024-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_743"
      unitRef="USD">0</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="From2023-06-01to2024-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_744"
      unitRef="USD">1480000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="From2023-06-01to2024-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_745"
      unitRef="USD">0</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="From2023-06-01to2024-02-28_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_746"
      unitRef="USD">0</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="From2023-06-01to2024-02-28"
      decimals="-3"
      id="fid_747"
      unitRef="USD">1480000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-06-01to2024-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_748"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-06-01to2024-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_749"
      unitRef="USD">1876000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-06-01to2024-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_750"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-06-01to2024-02-28_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_751"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2023-06-01to2024-02-28"
      decimals="-3"
      id="fid_752"
      unitRef="USD">1876000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-06-01to2024-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_753"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-06-01to2024-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_754"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-06-01to2024-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_755"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-06-01to2024-02-28_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_756"
      unitRef="USD">9292000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-06-01to2024-02-28"
      decimals="-3"
      id="fid_757"
      unitRef="USD">9292000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2023-06-01to2024-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_758"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2023-06-01to2024-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_759"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2023-06-01to2024-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_760"
      unitRef="USD">-6000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2023-06-01to2024-02-28_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_761"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2023-06-01to2024-02-28"
      decimals="-3"
      id="fid_762"
      unitRef="USD">-6000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:UnrealizedGainLossOnInvestments
      contextRef="From2023-06-01to2024-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_763"
      unitRef="USD">0</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:UnrealizedGainLossOnInvestments
      contextRef="From2023-06-01to2024-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_764"
      unitRef="USD">0</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:UnrealizedGainLossOnInvestments
      contextRef="From2023-06-01to2024-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_765"
      unitRef="USD">17000</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:UnrealizedGainLossOnInvestments
      contextRef="From2023-06-01to2024-02-28_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_766"
      unitRef="USD">0</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:UnrealizedGainLossOnInvestments
      contextRef="From2023-06-01to2024-02-28"
      decimals="-3"
      id="fid_767"
      unitRef="USD">17000</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:SharesIssued
      contextRef="AsOf2024-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_768"
      unitRef="Shares">28906000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_769"
      unitRef="USD">289000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_770"
      unitRef="USD">129366000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_771"
      unitRef="USD">-144000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-02-28_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_772"
      unitRef="USD">-43014000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2024-02-28"
      decimals="-3"
      id="fid_773"
      unitRef="USD">86497000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="AsOf2022-11-30_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_681"
      unitRef="Shares">27732000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-11-30_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_682"
      unitRef="USD">277000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-11-30_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_683"
      unitRef="USD">119094000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-11-30_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_684"
      unitRef="USD">-155000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-11-30_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_685"
      unitRef="USD">-62549000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-11-30"
      decimals="-3"
      id="fid_686"
      unitRef="USD">56667000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="From2022-12-01to2023-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_687"
      unitRef="Shares">395000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2022-12-01to2023-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_688"
      unitRef="USD">4000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2022-12-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_689"
      unitRef="USD">849000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2022-12-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_690"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2022-12-01to2023-02-28_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_691"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_692"
      unitRef="USD">853000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="From2022-12-01to2023-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_693"
      unitRef="Shares">16000</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="From2022-12-01to2023-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_694"
      unitRef="USD">0</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="From2022-12-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_695"
      unitRef="USD">464000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="From2022-12-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_696"
      unitRef="USD">0</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="From2022-12-01to2023-02-28_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_697"
      unitRef="USD">0</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_698"
      unitRef="USD">464000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsAmount
      contextRef="From2022-12-01to2023-02-28_us-gaap_CommonStockMember"
      decimals="0"
      id="fid_879"
      unitRef="USD">209</aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsAmount>
    <aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsShares
      contextRef="From2022-12-01to2023-02-28_us-gaap_CommonStockMember"
      decimals="0"
      id="fid_873"
      unitRef="Shares">2</aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsShares>
    <aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsShares
      contextRef="From2022-12-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="fid_887"
      unitRef="Shares">6851</aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsShares>
    <aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsShares
      contextRef="From2022-12-01to2023-02-28"
      decimals="0"
      id="fid_890"
      unitRef="Shares">6853</aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsShares>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-12-01to2023-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_699"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-12-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_700"
      unitRef="USD">600000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-12-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_701"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_703"
      unitRef="USD">600000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-12-01to2023-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_704"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-12-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_705"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-12-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_706"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-12-01to2023-02-28_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_707"
      unitRef="USD">4132000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_708"
      unitRef="USD">4132000</us-gaap:NetIncomeLoss>
    <us-gaap:UnrealizedGainLossOnInvestments
      contextRef="From2022-12-01to2023-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_714"
      unitRef="USD">0</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:UnrealizedGainLossOnInvestments
      contextRef="From2022-12-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_715"
      unitRef="USD">0</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:UnrealizedGainLossOnInvestments
      contextRef="From2022-12-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_716"
      unitRef="USD">-16000</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:UnrealizedGainLossOnInvestments
      contextRef="From2022-12-01to2023-02-28_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_717"
      unitRef="USD">0</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:UnrealizedGainLossOnInvestments
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_718"
      unitRef="USD">-16000</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2022-12-01to2023-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_709"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2022-12-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_710"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2022-12-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_711"
      unitRef="USD">9000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2022-12-01to2023-02-28_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_712"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_713"
      unitRef="USD">9000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:SharesIssued
      contextRef="AsOf2023-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_719"
      unitRef="Shares">28320000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_720"
      unitRef="USD">283000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_721"
      unitRef="USD">126930000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_722"
      unitRef="USD">-162000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-02-28_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_723"
      unitRef="USD">-58417000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-02-28"
      decimals="-3"
      id="fid_724"
      unitRef="USD">68634000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="AsOf2022-05-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_774"
      unitRef="Shares">27120000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-05-31_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_775"
      unitRef="USD">271000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-05-31_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_776"
      unitRef="USD">117686000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-05-31_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_777"
      unitRef="USD">-105000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-05-31_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_778"
      unitRef="USD">-66863000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2022-05-31"
      decimals="-3"
      id="fid_779"
      unitRef="USD">50989000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="From2022-06-01to2023-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_780"
      unitRef="Shares">1156000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2022-06-01to2023-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_781"
      unitRef="USD">11000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2022-06-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_782"
      unitRef="USD">1954000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2022-06-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_783"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2022-06-01to2023-02-28_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_784"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_785"
      unitRef="USD">1965000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="From2022-06-01to2023-02-28_us-gaap_CommonStockMember"
      decimals="0"
      id="fid_786"
      unitRef="Shares">165</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="From2022-06-01to2023-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_787"
      unitRef="USD">1000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="From2022-06-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_788"
      unitRef="USD">1679000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="From2022-06-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_789"
      unitRef="USD">0</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="From2022-06-01to2023-02-28_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_790"
      unitRef="USD">0</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_791"
      unitRef="USD">1680000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsShares
      contextRef="From2022-06-01to2023-02-28_us-gaap_CommonStockMember"
      decimals="0"
      id="fid_871"
      unitRef="Shares">209</aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsShares>
    <aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsAmount
      contextRef="From2022-06-01to2023-02-28_us-gaap_CommonStockMember"
      decimals="0"
      id="fid_877"
      unitRef="USD">2</aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsAmount>
    <aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsAmount
      contextRef="From2022-06-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="0"
      id="fid_883"
      unitRef="USD">6851</aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsAmount>
    <aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsAmount
      contextRef="From2022-06-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="0"
      id="fid_884"
      unitRef="USD">0</aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsAmount>
    <aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsAmount
      contextRef="From2022-06-01to2023-02-28_us-gaap_RetainedEarningsMember"
      decimals="0"
      id="fid_885"
      unitRef="USD">0</aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsAmount>
    <aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsAmount
      contextRef="From2022-06-01to2023-02-28"
      decimals="0"
      id="fid_886"
      unitRef="USD">6853</aehr:ProceedsFromPublicOfferingNetOfIssuanceCostsAmount>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-06-01to2023-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_792"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-06-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_793"
      unitRef="USD">2118000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-06-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_794"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-06-01to2023-02-28_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_795"
      unitRef="USD">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_796"
      unitRef="USD">2118000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-06-01to2023-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_797"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-06-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_798"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-06-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_799"
      unitRef="USD">0</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-06-01to2023-02-28_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_800"
      unitRef="USD">8446000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_801"
      unitRef="USD">8446000</us-gaap:NetIncomeLoss>
    <us-gaap:UnrealizedGainLossOnInvestments
      contextRef="From2022-06-01to2023-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_807"
      unitRef="USD">0</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:UnrealizedGainLossOnInvestments
      contextRef="From2022-06-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_808"
      unitRef="USD">0</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:UnrealizedGainLossOnInvestments
      contextRef="From2022-06-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_809"
      unitRef="USD">-22000</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:UnrealizedGainLossOnInvestments
      contextRef="From2022-06-01to2023-02-28_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_810"
      unitRef="USD">0</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:UnrealizedGainLossOnInvestments
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_811"
      unitRef="USD">-22000</us-gaap:UnrealizedGainLossOnInvestments>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2022-06-01to2023-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_802"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2022-06-01to2023-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_803"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2022-06-01to2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_804"
      unitRef="USD">-35000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2022-06-01to2023-02-28_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_805"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_806"
      unitRef="USD">-35000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:SharesIssued
      contextRef="AsOf2023-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_812"
      unitRef="Shares">28320000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-02-28_us-gaap_CommonStockMember"
      decimals="-3"
      id="fid_813"
      unitRef="USD">283000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-02-28_us-gaap_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="fid_814"
      unitRef="USD">126930000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-02-28_us-gaap_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="fid_815"
      unitRef="USD">-162000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-02-28_us-gaap_RetainedEarningsMember"
      decimals="-3"
      id="fid_816"
      unitRef="USD">-58417000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="AsOf2023-02-28"
      decimals="-3"
      id="fid_817"
      unitRef="USD">68634000</us-gaap:StockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_169"
      unitRef="USD">9292000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_170"
      unitRef="USD">8446000</us-gaap:ProfitLoss>
    <us-gaap:ShareBasedCompensation
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_172"
      unitRef="USD">1744000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_173"
      unitRef="USD">2095000</us-gaap:ShareBasedCompensation>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_174"
      unitRef="USD">469000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_175"
      unitRef="USD">337000</us-gaap:DepreciationAndAmortization>
    <us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_176"
      unitRef="USD">-130000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
    <us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_177"
      unitRef="USD">-305000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_178"
      unitRef="USD">522000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_179"
      unitRef="USD">479000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_180"
      unitRef="USD">0</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_181"
      unitRef="USD">24000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_183"
      unitRef="USD">11130000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_184"
      unitRef="USD">1414000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_185"
      unitRef="USD">-14182000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_186"
      unitRef="USD">-6783000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_187"
      unitRef="USD">-600000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_188"
      unitRef="USD">-167000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_189"
      unitRef="USD">-4232000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_190"
      unitRef="USD">822000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_191"
      unitRef="USD">-874000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_192"
      unitRef="USD">-126000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_193"
      unitRef="USD">-2368000</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:IncreaseDecreaseInDeferredRevenue
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_194"
      unitRef="USD">-1633000</us-gaap:IncreaseDecreaseInDeferredRevenue>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_195"
      unitRef="USD">-257000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_196"
      unitRef="USD">-469000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_197"
      unitRef="USD">18000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_198"
      unitRef="USD">9000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_199"
      unitRef="USD">532000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_200"
      unitRef="USD">4143000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_202"
      unitRef="USD">703000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_203"
      unitRef="USD">178000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleAndMaturityOfOtherInvestments
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_204"
      unitRef="USD">18000000</us-gaap:ProceedsFromSaleAndMaturityOfOtherInvestments>
    <us-gaap:ProceedsFromSaleAndMaturityOfOtherInvestments
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_205"
      unitRef="USD">8000000</us-gaap:ProceedsFromSaleAndMaturityOfOtherInvestments>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_206"
      unitRef="USD">0</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_207"
      unitRef="USD">33294000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_208"
      unitRef="USD">17297000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_209"
      unitRef="USD">-25472000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_211"
      unitRef="USD">1270000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_212"
      unitRef="USD">1965000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_213"
      unitRef="USD">1480000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_214"
      unitRef="USD">1680000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:ProceedsFromIssuanceInitialPublicOffering
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_215"
      unitRef="USD">-72000</us-gaap:ProceedsFromIssuanceInitialPublicOffering>
    <us-gaap:ProceedsFromIssuanceInitialPublicOffering
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_216"
      unitRef="USD">6853000</us-gaap:ProceedsFromIssuanceInitialPublicOffering>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_217"
      unitRef="USD">-282000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_218"
      unitRef="USD">7138000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_219"
      unitRef="USD">-20000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_220"
      unitRef="USD">-35000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_221"
      unitRef="USD">17527000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_222"
      unitRef="USD">-14226000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_223"
      unitRef="USD">30204000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2022-05-31"
      decimals="-3"
      id="fid_224"
      unitRef="USD">31564000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_225"
      unitRef="USD">47731000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2023-02-28"
      decimals="-3"
      id="fid_226"
      unitRef="USD">17338000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:BusinessDescriptionAndAccountingPoliciesTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_818">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;1. ORGANIZATION AND SIGNIFICANT ACCOUNTING POLICIES&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Organization&lt;/em&gt; &#x2013; Aehr Test Systems (the &#x201c;Company&#x201d;) was incorporated in California in May 1977 and develops and manufactures test and burn-in equipment used in the semiconductor industry. The Company&#x2019;s principal products are the FOX-XP, FOX-NP, and FOX-CP wafer contact and singulated die/module parallel test and burn-in systems, the WaferPak full wafer contactor, the DiePak carrier, the WaferPak aligner, the DiePak autoloader, and test fixtures.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Basis of Presentation&lt;/em&gt;&lt;strong&gt; &#x2013; &lt;/strong&gt;The unaudited Condensed Consolidated Financial Statements included in this quarterly report on Form 10-Q include the accounts of the Company and its wholly-owned subsidiaries and have been prepared in accordance with U.S. generally accepted accounting principles (&#x201c;GAAP&#x201d;) for interim financial reporting and the rules and regulations of the Securities and Exchange Commission (the &#x201c;SEC&#x201d;) for interim reporting. Accordingly, the unaudited Condensed Consolidated Financial Statements do not include certain information and footnote disclosures normally included in the annual consolidated financial statements. In the opinion of management, the unaudited Condensed Consolidated Financial Statements for the interim periods presented have been prepared on a basis consistent with the May 31, 2023 audited Consolidated Financial Statements and reflect all adjustments, consisting of normal recurring adjustments, necessary for a fair presentation of the condensed consolidated financial position and results of operations as of and for such periods indicated. These unaudited Condensed Consolidated Financial Statements should be read in conjunction with the Consolidated Financial Statements contained in the Company's Annual Report on Form 10-K for the year ended May 31, 2023. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"&gt;&lt;em&gt;Principles of Consolidation&lt;/em&gt;&lt;strong&gt; &#x2013; &lt;/strong&gt;The Company&#x2019;s Condensed Consolidated Financial Statements include the accounts of the Company and its wholly-owned subsidiaries and all significant intercompany accounts and transactions have been eliminated upon consolidation. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Critical Accounting Policies and use of Estimates&lt;strong&gt;&#160;&lt;/strong&gt;&lt;/em&gt;&#x2013; The Company&#x2019;s significant accounting policies are disclosed in the Company&#x2019;s Annual Report on Form 10-K for the year ended May 31, 2023. There have been no significant changes in the Company&#x2019;s significant accounting policies during the three and nine months ended February 29, 2024. The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Significant estimates in these Condensed Consolidated Financial Statements include valuation of inventory at the lower of cost or net realizable value and warranty reserves. Actual results could differ from those estimates.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Reclassifications - &lt;/em&gt;Certain reclassifications have been made to the prior period Condensed Consolidated Financial Statements to conform to the current period presentation. The reclassifications had no impact on net income, total assets, total liabilities, or shareholders&#x2019; equity.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"&gt;&lt;em&gt;Concentration of Credit Risk&lt;/em&gt; &#x2013; Financial instruments which subject the Company to concentrations of credit risk consist principally of cash and cash equivalents and accounts receivable. The Company performs credit evaluations of its customers&#x2019; financial condition and generally requires no collateral. The Company had revenues from individual customers in excess of 10% of total revenues as follows:&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Three Months Ended&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Nine Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Customer A&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;59.6&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;82.5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;65.8&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;77.5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Customer B&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;19.3&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;11.6&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;15.7&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Customer C&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;17.2&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;* Amount was less than 10% of total revenue&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Company had gross accounts receivable from individual customers in excess of 10% of gross accounts receivable as follows:&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;May 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Customer A&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;70.2&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;81.6&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Customer B&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;18.0&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Customer C&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;16.5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;* Amount was less than 10% of total gross accounts receivable&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Recent Accounting Pronouncements &#x2014; &lt;/em&gt;The Company's accounts receivable are recorded at invoiced amounts less allowance for any credit losses. According to the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") 2016-13 that the Company adopted on June 1, 2023, the Company recognizes credit losses based on forward-looking current expected credit losses ("CECL"). The Company makes estimates of expected credit losses based upon its assessment of various factors, including the age of accounts receivable balances, credit quality of its customers, current economic conditions, reasonable and supportable forecasts of future economic conditions, and other factors that may affect its ability to collect from customers. The allowance for credit losses is recognized in the condensed consolidated statements of operations. The uncollectible accounts receivable are written off in the period in which a determination is made that all commercially reasonable means of recovering them have been exhausted. The total allowance for credit losses was $0 at both February 29, 2024 and May 31, 2023, and there was no write-off of accounts receivable for the periods presented. The adoption of ASU 2016-13 did not have a material impact on the Company&#x2019;s Condensed Consolidated Financial Statements.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Recent Accounting Pronouncements Not Yet Adopted &lt;/em&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Improvements to Reportable Segment Disclosures: In November 2023, the FASB issued ASU 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures (ASU 2023-07), which requires disclosure of incremental segment information on an annual and interim basis. This ASU is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024 on a retrospective basis. The Company is currently evaluating the effect of this pronouncement on its disclosures. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Improvements to Income Tax Disclosures: In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which expands the disclosures required for income taxes. This ASU is effective for fiscal years beginning after December 15, 2024, with early adoption permitted. The amendment should be applied on a prospective basis while retrospective application is permitted. The Company is currently evaluating the effect of this pronouncement on its disclosures.&lt;/p&gt;</us-gaap:BusinessDescriptionAndAccountingPoliciesTextBlock>
    <us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_830">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Organization&lt;/em&gt; &#x2013; Aehr Test Systems (the &#x201c;Company&#x201d;) was incorporated in California in May 1977 and develops and manufactures test and burn-in equipment used in the semiconductor industry. The Company&#x2019;s principal products are the FOX-XP, FOX-NP, and FOX-CP wafer contact and singulated die/module parallel test and burn-in systems, the WaferPak full wafer contactor, the DiePak carrier, the WaferPak aligner, the DiePak autoloader, and test fixtures.&lt;/p&gt;</us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_831">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Basis of Presentation&lt;/em&gt;&lt;strong&gt; &#x2013; &lt;/strong&gt;The unaudited Condensed Consolidated Financial Statements included in this quarterly report on Form 10-Q include the accounts of the Company and its wholly-owned subsidiaries and have been prepared in accordance with U.S. generally accepted accounting principles (&#x201c;GAAP&#x201d;) for interim financial reporting and the rules and regulations of the Securities and Exchange Commission (the &#x201c;SEC&#x201d;) for interim reporting. Accordingly, the unaudited Condensed Consolidated Financial Statements do not include certain information and footnote disclosures normally included in the annual consolidated financial statements. In the opinion of management, the unaudited Condensed Consolidated Financial Statements for the interim periods presented have been prepared on a basis consistent with the May 31, 2023 audited Consolidated Financial Statements and reflect all adjustments, consisting of normal recurring adjustments, necessary for a fair presentation of the condensed consolidated financial position and results of operations as of and for such periods indicated. These unaudited Condensed Consolidated Financial Statements should be read in conjunction with the Consolidated Financial Statements contained in the Company's Annual Report on Form 10-K for the year ended May 31, 2023. &lt;/p&gt;</us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_832">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"&gt;&lt;em&gt;Principles of Consolidation&lt;/em&gt;&lt;strong&gt; &#x2013; &lt;/strong&gt;The Company&#x2019;s Condensed Consolidated Financial Statements include the accounts of the Company and its wholly-owned subsidiaries and all significant intercompany accounts and transactions have been eliminated upon consolidation. &lt;/p&gt;</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:UseOfEstimates contextRef="From2023-06-01to2024-02-29" id="fid_833">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Critical Accounting Policies and use of Estimates&lt;strong&gt;&#160;&lt;/strong&gt;&lt;/em&gt;&#x2013; The Company&#x2019;s significant accounting policies are disclosed in the Company&#x2019;s Annual Report on Form 10-K for the year ended May 31, 2023. There have been no significant changes in the Company&#x2019;s significant accounting policies during the three and nine months ended February 29, 2024. The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Significant estimates in these Condensed Consolidated Financial Statements include valuation of inventory at the lower of cost or net realizable value and warranty reserves. Actual results could differ from those estimates.&lt;/p&gt;</us-gaap:UseOfEstimates>
    <us-gaap:Reclassifications contextRef="From2023-06-01to2024-02-29" id="fid_834">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Reclassifications - &lt;/em&gt;Certain reclassifications have been made to the prior period Condensed Consolidated Financial Statements to conform to the current period presentation. The reclassifications had no impact on net income, total assets, total liabilities, or shareholders&#x2019; equity.&lt;/p&gt;</us-gaap:Reclassifications>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="From2023-06-01to2024-02-29" id="fid_835">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"&gt;&lt;em&gt;Concentration of Credit Risk&lt;/em&gt; &#x2013; Financial instruments which subject the Company to concentrations of credit risk consist principally of cash and cash equivalents and accounts receivable. The Company performs credit evaluations of its customers&#x2019; financial condition and generally requires no collateral. The Company had revenues from individual customers in excess of 10% of total revenues as follows:&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Three Months Ended&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Nine Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Customer A&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;59.6&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;82.5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;65.8&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;77.5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Customer B&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;19.3&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;11.6&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;15.7&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Customer C&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;17.2&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;* Amount was less than 10% of total revenue&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Company had gross accounts receivable from individual customers in excess of 10% of gross accounts receivable as follows:&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;May 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Customer A&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;70.2&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;81.6&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Customer B&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;18.0&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Customer C&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;16.5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;* Amount was less than 10% of total gross accounts receivable&lt;/p&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <aehr:ScheduleOfFinancialInstrumentsTextblock contextRef="From2023-06-01to2024-02-29" id="fid_838">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Three Months Ended&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Nine Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Customer A&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;59.6&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;82.5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;65.8&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;77.5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Customer B&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;19.3&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;11.6&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;15.7&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Customer C&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;17.2&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;May 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Customer A&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;70.2&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;81.6&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Customer B&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;18.0&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Customer C&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:right;"&gt;*&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;16.5&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</aehr:ScheduleOfFinancialInstrumentsTextblock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-12-01to2024-02-29_aehr_RevenuesMember_aehr_CustomerAMember"
      decimals="INF"
      id="fid_891"
      unitRef="Pure">0.596</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-12-01to2023-02-28_aehr_RevenuesMember_aehr_CustomerAMember"
      decimals="INF"
      id="fid_893"
      unitRef="Pure">0.825</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-06-01to2024-02-29_aehr_RevenuesMember_aehr_CustomerAMember"
      decimals="INF"
      id="fid_859"
      unitRef="Pure">0.658</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-06-01to2023-02-28_aehr_RevenuesMember_aehr_CustomerAMember"
      decimals="INF"
      id="fid_895"
      unitRef="Pure">0.775</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-12-01to2024-02-29_aehr_RevenuesMember_aehr_CustomerBMember"
      decimals="INF"
      id="fid_892"
      unitRef="Pure">0.193</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-12-01to2023-02-28_aehr_RevenuesMember_aehr_CustomerBMember"
      decimals="INF"
      id="fid_894"
      unitRef="Pure">0.116</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-06-01to2023-02-28_aehr_RevenuesMember_aehr_CustomerBMember"
      decimals="INF"
      id="fid_896"
      unitRef="Pure">0.157</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-06-01to2024-02-29_aehr_RevenuesMember_aehr_CustomerCMember"
      decimals="INF"
      id="fid_897"
      unitRef="Pure">0.172</us-gaap:ConcentrationRiskPercentage1>
    <aehr:ConcentrationRiskPercentage
      contextRef="From2023-06-01to2024-02-29_aehr_RevenueMember"
      decimals="INF"
      id="fid_261"
      unitRef="Pure">0.10</aehr:ConcentrationRiskPercentage>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-06-01to2024-02-29_us-gaap_AccountsReceivableMember_aehr_CustomerAMember"
      decimals="INF"
      id="fid_254"
      unitRef="Pure">0.702</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-09-01to2023-05-31_us-gaap_AccountsReceivableMember_aehr_CustomerAMember"
      decimals="INF"
      id="fid_899"
      unitRef="Pure">0.816</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2023-06-01to2024-02-29_us-gaap_AccountsReceivableMember_aehr_CustomerBMember"
      decimals="INF"
      id="fid_898"
      unitRef="Pure">0.180</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="From2022-09-01to2023-05-31_us-gaap_AccountsReceivableMember_aehr_CustomerCMember"
      decimals="INF"
      id="fid_900"
      unitRef="Pure">0.165</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_836">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Recent Accounting Pronouncements &#x2014; &lt;/em&gt;The Company's accounts receivable are recorded at invoiced amounts less allowance for any credit losses. According to the Financial Accounting Standards Board ("FASB") issued Accounting Standards Update ("ASU") 2016-13 that the Company adopted on June 1, 2023, the Company recognizes credit losses based on forward-looking current expected credit losses ("CECL"). The Company makes estimates of expected credit losses based upon its assessment of various factors, including the age of accounts receivable balances, credit quality of its customers, current economic conditions, reasonable and supportable forecasts of future economic conditions, and other factors that may affect its ability to collect from customers. The allowance for credit losses is recognized in the condensed consolidated statements of operations. The uncollectible accounts receivable are written off in the period in which a determination is made that all commercially reasonable means of recovering them have been exhausted. The total allowance for credit losses was $0 at both February 29, 2024 and May 31, 2023, and there was no write-off of accounts receivable for the periods presented. The adoption of ASU 2016-13 did not have a material impact on the Company&#x2019;s Condensed Consolidated Financial Statements.&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:SecuritiesBorrowedAllowanceForCreditLoss
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="fid_263"
      unitRef="USD">0</us-gaap:SecuritiesBorrowedAllowanceForCreditLoss>
    <aehr:RecentAccountingPronouncementsNotYetAdoptedPolicyTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_837">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Improvements to Reportable Segment Disclosures: In November 2023, the FASB issued ASU 2023-07, Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures (ASU 2023-07), which requires disclosure of incremental segment information on an annual and interim basis. This ASU is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024 on a retrospective basis. The Company is currently evaluating the effect of this pronouncement on its disclosures. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Improvements to Income Tax Disclosures: In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which expands the disclosures required for income taxes. This ASU is effective for fiscal years beginning after December 15, 2024, with early adoption permitted. The amendment should be applied on a prospective basis while retrospective application is permitted. The Company is currently evaluating the effect of this pronouncement on its disclosures.&lt;/p&gt;</aehr:RecentAccountingPronouncementsNotYetAdoptedPolicyTextBlock>
    <us-gaap:FairValueDisclosuresTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_819">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;2. FAIR VALUE OF FINANCIAL INSTRUMENTS&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Fair Value of Measurements &#x2014;&lt;/em&gt; The Company measures its cash equivalents and money market funds at fair value on a recurring basis. Fair value is an exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that is determined based on assumptions that market participants would use in pricing an asset or a liability. Assets and liabilities recorded at fair value are measured and classified in accordance with a three-tier fair value hierarchy based on the observability of the inputs available in the market used to measure fair value:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"&gt;Level 1 &#x2014; Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"&gt;Level 2 &#x2014; Inputs that are based upon quoted prices for similar instruments in active markets, quoted prices for identical or similar instruments in markets that are not active, and model-based valuation techniques for which all significant inputs are observable in the market or can be derived from observable market data. Where applicable, these models project future cash flows and discount the future amounts to a present value using market-based observable inputs including interest rate curves, foreign exchange rates, and credit ratings.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"&gt;Level 3 &#x2014; Unobservable inputs that are supported by little or no market activities.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The following table represents the Company&#x2019;s assets measured at fair value on a recurring basis as of February 29, 2024, and the basis for that measurement:&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Balance as of&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, 2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Level 1&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Level 2&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Level 3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Money market funds&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;44,189&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;44,189&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;44,189&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;44,189&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The following table represents the Company&#x2019;s assets measured at fair value on a recurring basis as of May 31, 2023, and the basis for that measurement:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Balance as of&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;May 31, 2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Level 1&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Level 2&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Level 3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Money market funds&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;27,022&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;27,022&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;U. S. treasury securities&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;17,853&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;17,853&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;44,875&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;44,875&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Included in money market funds as of February 29, 2024 and May 31, 2023 is $150,000 restricted cash representing a security deposit for the Company&#x2019;s United States manufacturing and office space lease. There were no financial liabilities measured at fair value as of February 29, 2024 and May 31, 2023. There were no transfers between Level 1 and Level 2 fair value measurements during the three and nine months ended February 29, 2024. The carrying amounts of financial instruments, including cash equivalents, accounts receivable, accounts payable and certain other accrued liabilities, approximate fair value due to their short maturities.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The following table summarizes the Company&#x2019;s cash, cash equivalents and investments by security type as of February 29, 2024 and May 31, 2023, respectively:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Gross &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;Balances as of February 29, 2024 &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Unrealized&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Estimated&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Cost&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Loss&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Fair Value&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Cash&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;3,542&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;3,542&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Cash equivalents:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Money market funds&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;44,039&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;44,039&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Total cash and cash equivalents&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;47,581&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;47,581&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Long-term investments:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Money market funds&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;150&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;150&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Total cash, cash equivalents and investments&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;47,731&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;47,731&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Gross &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;Balances as of May 31, 2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Unrealized&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Estimated&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Cost&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Loss&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Fair Value&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Cash&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;3,182&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;3,182&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Cash equivalents:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Money market funds&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;26,872&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;26,872&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Total cash and cash equivalents&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;30,054&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;30,054&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Short term investments:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;U. S. treasury securities&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;17,870&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(17&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;17,853&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Long-term investments:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Money market funds&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;150&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;150&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Total cash, cash equivalents and investments&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;48,074&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(17&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;48,057&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Long-term investments are included in other assets on the accompanying Condensed Consolidated Balance Sheets. Unrealized gains and temporary losses on investments classified as available-for-sale debt securities are included within accumulated other comprehensive loss, net of any related tax effect. Upon realization, those amounts are reclassified from accumulated other comprehensive loss to results of operations.&lt;/p&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_839">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Balance as of&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, 2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Level 1&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Level 2&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Level 3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Money market funds&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;44,189&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;44,189&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;44,189&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;44,189&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Balance as of&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;May 31, 2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Level 1&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Level 2&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Level 3&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Money market funds&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;27,022&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;27,022&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;U. S. treasury securities&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;17,853&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;17,853&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Total&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;44,875&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;44,875&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="AsOf2024-02-29_aehr_MoneyMarketFundMember"
      decimals="-3"
      id="fid_274"
      unitRef="USD">44189000</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="AsOf2024-02-29_us-gaap_FairValueInputsLevel1Member_aehr_MoneyMarketFundMember"
      decimals="-3"
      id="fid_275"
      unitRef="USD">44189000</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="AsOf2024-02-29_us-gaap_FairValueInputsLevel2Member_aehr_MoneyMarketFundMember"
      decimals="-3"
      id="fid_276"
      unitRef="USD">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="AsOf2024-02-29_us-gaap_FairValueInputsLevel3Member_aehr_MoneyMarketFundMember"
      decimals="-3"
      id="fid_277"
      unitRef="USD">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="AsOf2024-02-29_us-gaap_AssetsMember"
      decimals="-3"
      id="fid_278"
      unitRef="USD">44189000</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="AsOf2024-02-29_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel1Member"
      decimals="-3"
      id="fid_279"
      unitRef="USD">44189000</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="AsOf2024-02-29_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel2Member"
      decimals="-3"
      id="fid_280"
      unitRef="USD">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="AsOf2024-02-29_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel3Member"
      decimals="-3"
      id="fid_281"
      unitRef="USD">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="AsOf2023-05-31_aehr_MoneyMarketFundMember"
      decimals="-3"
      id="fid_264"
      unitRef="USD">27022000</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="AsOf2023-05-31_us-gaap_FairValueInputsLevel1Member_aehr_MoneyMarketFundMember"
      decimals="-3"
      id="fid_265"
      unitRef="USD">27022000</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="AsOf2023-05-31_us-gaap_FairValueInputsLevel2Member_aehr_MoneyMarketFundMember"
      decimals="-3"
      id="fid_266"
      unitRef="USD">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="AsOf2023-05-31_us-gaap_FairValueInputsLevel3Member_aehr_MoneyMarketFundMember"
      decimals="-3"
      id="fid_267"
      unitRef="USD">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="AsOf2023-05-31_aehr_UStreasurysecuritiesMember"
      decimals="-3"
      id="fid_268"
      unitRef="USD">17853000</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="AsOf2023-05-31_us-gaap_FairValueInputsLevel1Member_aehr_USTreasurySecurityMember"
      decimals="-3"
      id="fid_269"
      unitRef="USD">17853000</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="AsOf2023-05-31_us-gaap_AssetsMember"
      decimals="-3"
      id="fid_270"
      unitRef="USD">44875000</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="AsOf2023-05-31_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel1Member"
      decimals="-3"
      id="fid_271"
      unitRef="USD">44875000</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="AsOf2023-05-31_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel2Member"
      decimals="-3"
      id="fid_272"
      unitRef="USD">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:InvestmentsFairValueDisclosure
      contextRef="AsOf2023-05-31_us-gaap_AssetsMember_us-gaap_FairValueInputsLevel3Member"
      decimals="-3"
      id="fid_273"
      unitRef="USD">0</us-gaap:InvestmentsFairValueDisclosure>
    <us-gaap:RestrictedCashNoncurrent
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="fid_317"
      unitRef="USD">150000</us-gaap:RestrictedCashNoncurrent>
    <us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_840">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Gross &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;Balances as of February 29, 2024 &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Unrealized&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Estimated&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Cost&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Loss&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Fair Value&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Cash&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;3,542&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;3,542&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Cash equivalents:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Money market funds&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;44,039&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;44,039&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Total cash and cash equivalents&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;47,581&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;47,581&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Long-term investments:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Money market funds&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;150&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;150&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Total cash, cash equivalents and investments&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;47,731&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;47,731&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Gross &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;Balances as of May 31, 2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Unrealized&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Estimated&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Cost&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Loss&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Fair Value&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Cash&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;3,182&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;3,182&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Cash equivalents:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Money market funds&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;26,872&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;26,872&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Total cash and cash equivalents&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;30,054&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;30,054&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Short term investments:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;U. S. treasury securities&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;17,870&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(17&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;17,853&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Long-term investments:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Money market funds&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;150&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;150&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Total cash, cash equivalents and investments&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;48,074&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(17&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;48,057&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock>
    <us-gaap:Cash
      contextRef="AsOf2024-02-29_aehr_CostMember"
      decimals="-3"
      id="fid_300"
      unitRef="USD">3542000</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="AsOf2024-02-29_aehr_GrossUnrealizedLossMember"
      decimals="-3"
      id="fid_302"
      unitRef="USD">0</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="AsOf2024-02-29_aehr_EstimatedFairValueMember"
      decimals="-3"
      id="fid_305"
      unitRef="USD">3542000</us-gaap:Cash>
    <us-gaap:CashEquivalentsAtCarryingValue
      contextRef="AsOf2024-02-29_aehr_CostMember_aehr_MoneyMarketFundMember"
      decimals="-3"
      id="fid_308"
      unitRef="USD">44039000</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue
      contextRef="AsOf2024-02-29_aehr_GrossUnrealizedLossMember_aehr_MoneyMarketFundMember"
      decimals="-3"
      id="fid_310"
      unitRef="USD">0</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue
      contextRef="AsOf2024-02-29_aehr_EstimatedFairValueMember_aehr_MoneyMarketFundMember"
      decimals="-3"
      id="fid_312"
      unitRef="USD">44039000</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2024-02-29_aehr_CostMember"
      decimals="-3"
      id="fid_314"
      unitRef="USD">47581000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2024-02-29_aehr_GrossUnrealizedLossMember"
      decimals="-3"
      id="fid_303"
      unitRef="USD">0</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2024-02-29_aehr_EstimatedFairValueMember"
      decimals="-3"
      id="fid_306"
      unitRef="USD">47581000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:LongTermInvestments
      contextRef="AsOf2024-02-29_aehr_CostMember_aehr_MoneyMarketFundMember"
      decimals="-3"
      id="fid_309"
      unitRef="USD">150000</us-gaap:LongTermInvestments>
    <us-gaap:LongTermInvestments
      contextRef="AsOf2024-02-29_aehr_GrossUnrealizedLossMember_aehr_MoneyMarketFundMember"
      decimals="-3"
      id="fid_311"
      unitRef="USD">0</us-gaap:LongTermInvestments>
    <us-gaap:LongTermInvestments
      contextRef="AsOf2024-02-29_aehr_EstimatedFairValueMember_aehr_MoneyMarketFundMember"
      decimals="-3"
      id="fid_313"
      unitRef="USD">150000</us-gaap:LongTermInvestments>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2024-02-29_aehr_CostMember"
      decimals="-3"
      id="fid_301"
      unitRef="USD">47731000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsAndShortTermInvestments
      contextRef="AsOf2024-02-29_aehr_GrossUnrealizedLossMember"
      decimals="-3"
      id="fid_304"
      unitRef="USD">0</us-gaap:CashCashEquivalentsAndShortTermInvestments>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2024-02-29_aehr_EstimatedFairValueMember"
      decimals="-3"
      id="fid_307"
      unitRef="USD">47731000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:Cash
      contextRef="AsOf2023-05-31_aehr_CostMember"
      decimals="-3"
      id="fid_287"
      unitRef="USD">3182000</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="AsOf2023-05-31_aehr_GrossUnrealizedLossMember"
      decimals="-3"
      id="fid_288"
      unitRef="USD">0</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="AsOf2023-05-31_aehr_EstimatedFairValueMember"
      decimals="-3"
      id="fid_289"
      unitRef="USD">3182000</us-gaap:Cash>
    <us-gaap:CashEquivalentsAtCarryingValue
      contextRef="AsOf2023-05-31_aehr_CostMember_aehr_MoneyMarketFundMember"
      decimals="-3"
      id="fid_282"
      unitRef="USD">26872000</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue
      contextRef="AsOf2023-05-31_aehr_GrossUnrealizedLossMember_aehr_MoneyMarketFundMember"
      decimals="-3"
      id="fid_865"
      unitRef="USD">0</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue
      contextRef="AsOf2023-05-31_aehr_EstimatedFairValueMember_aehr_MoneyMarketFundMember"
      decimals="-3"
      id="fid_299"
      unitRef="USD">26872000</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2023-05-31_aehr_CostMember"
      decimals="-3"
      id="fid_290"
      unitRef="USD">30054000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2023-05-31_aehr_GrossUnrealizedLossMember"
      decimals="-3"
      id="fid_291"
      unitRef="USD">0</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="AsOf2023-05-31_aehr_EstimatedFairValueMember"
      decimals="-3"
      id="fid_292"
      unitRef="USD">30054000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:ShortTermInvestments
      contextRef="AsOf2023-05-31_aehr_CostMember_aehr_UnitedStateTreasurySecuritiesMember"
      decimals="-3"
      id="fid_296"
      unitRef="USD">17870000</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments
      contextRef="AsOf2023-05-31_aehr_GrossUnrealizedLossMember_aehr_UnitedStateTreasurySecuritiesMember"
      decimals="-3"
      id="fid_297"
      unitRef="USD">-17000</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments
      contextRef="AsOf2023-05-31_aehr_EstimatedFairValueMember_aehr_UnitedStateTreasurySecuritiesMember"
      decimals="-3"
      id="fid_298"
      unitRef="USD">17853000</us-gaap:ShortTermInvestments>
    <us-gaap:LongTermInvestments
      contextRef="AsOf2023-05-31_aehr_EstimatedFairValueMember_aehr_MoneyMarketFundMember"
      decimals="-3"
      id="fid_286"
      unitRef="USD">150000</us-gaap:LongTermInvestments>
    <us-gaap:LongTermInvestments
      contextRef="AsOf2023-05-31_aehr_GrossUnrealizedLossMember_aehr_MoneyMarketFundMember"
      decimals="-3"
      id="fid_285"
      unitRef="USD">0</us-gaap:LongTermInvestments>
    <us-gaap:LongTermInvestments
      contextRef="AsOf2023-05-31_aehr_CostMember_aehr_MoneyMarketFundMember"
      decimals="-3"
      id="fid_284"
      unitRef="USD">150000</us-gaap:LongTermInvestments>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2023-05-31_aehr_CostMember"
      decimals="-3"
      id="fid_293"
      unitRef="USD">48074000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsAndShortTermInvestments
      contextRef="AsOf2023-05-31_aehr_GrossUnrealizedLossMember"
      decimals="-3"
      id="fid_294"
      unitRef="USD">17000</us-gaap:CashCashEquivalentsAndShortTermInvestments>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="AsOf2023-05-31_aehr_EstimatedFairValueMember"
      decimals="-3"
      id="fid_295"
      unitRef="USD">48057000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:SupplementalBalanceSheetDisclosuresTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_820">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;3. BALANCE SHEET INFORMATION&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Inventories&lt;/em&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Inventories consisted of the following:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;May 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Raw materials and sub-assemblies&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;24,770&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;15,953&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Work in process&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;11,080&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5,764&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Finished goods&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;2,235&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;2,191&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;38,085&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;23,908&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Property and equipment&lt;/em&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Property and equipment, net&#160;consisted of the following:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Useful life&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;May 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;(in years)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&#160;* &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,643&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,310&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Machinery and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&#160;3 - 5 &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5,775&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5,445&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Test equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&#160;4 - 5 &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3,030&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,998&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Furniture and fixtures&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&#160;2 - 5 &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;717&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;706&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;11,165&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;10,459&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Less: accumulated depreciation and amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(8,015&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(7,700&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;3,150&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;2,759&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;* Lesser of estimated useful life or lease term.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Product warranties&lt;/em&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Company provides for the estimated cost of product warranties at the time revenues are recognized on the products shipped. While the Company engages in extensive product quality programs and processes, including actively monitoring and evaluating the quality of its component suppliers, the Company&#x2019;s warranty obligation is affected by product failure rates, material usage and service delivery costs incurred in correcting a product failure. Should actual product failure rates, material usage or service delivery costs differ from the Company&#x2019;s estimates, revisions to the estimated warranty liability would be required. The standard warranty period is one year for systems and ninety days for parts and service.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The following is a summary of changes in the Company's liability for product warranties during the three and nine months ended February 29, 2024 and February 28, 2023:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Three Months Ended&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Nine Months Ended&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Balance at the beginning of the period&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;221&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;311&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;267&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;410&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Accruals for warranties issued during the period&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;117&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;84&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;344&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;207&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Adjustments to previously existing warranty accruals&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;61&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Consumption of reserves&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(123&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(107&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(396&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(390&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Balance at the end of the period&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;215&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;288&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;215&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;288&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The accrued warranty balance is included in accrued expenses on the accompanying Condensed Consolidated Balance Sheets.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Deferred revenue&lt;/em&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Deferred revenue, short-term&#160;consisted of the following:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;May 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Customer deposits&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;418&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,690&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Deferred revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;68&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;132&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;486&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;2,822&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:SupplementalBalanceSheetDisclosuresTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_841">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;May 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Raw materials and sub-assemblies&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;24,770&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;15,953&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Work in process&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;11,080&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5,764&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Finished goods&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;2,235&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;2,191&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;38,085&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;23,908&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_320"
      unitRef="USD">24770000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryRawMaterialsNetOfReserves
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_321"
      unitRef="USD">15953000</us-gaap:InventoryRawMaterialsNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_322"
      unitRef="USD">11080000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryWorkInProcessNetOfReserves
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_323"
      unitRef="USD">5764000</us-gaap:InventoryWorkInProcessNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_324"
      unitRef="USD">2235000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_325"
      unitRef="USD">2191000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_326"
      unitRef="USD">38085000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_327"
      unitRef="USD">23908000</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_842">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Useful life&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;May 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;(in years)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Leasehold improvements&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&#160;* &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,643&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,310&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Machinery and equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&#160;3 - 5 &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5,775&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5,445&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Test equipment&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&#160;4 - 5 &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3,030&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,998&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Furniture and fixtures&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&#160;2 - 5 &lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;717&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;706&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;11,165&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;10,459&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Less: accumulated depreciation and amortization&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(8,015&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(7,700&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;3,150&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;2,759&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:LeaseholdImprovementsGross
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_328"
      unitRef="USD">1643000</us-gaap:LeaseholdImprovementsGross>
    <us-gaap:LeaseholdImprovementsGross
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_329"
      unitRef="USD">1310000</us-gaap:LeaseholdImprovementsGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_332"
      unitRef="USD">5775000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_333"
      unitRef="USD">5445000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentOther
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_334"
      unitRef="USD">3030000</us-gaap:PropertyPlantAndEquipmentOther>
    <us-gaap:PropertyPlantAndEquipmentOther
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_335"
      unitRef="USD">2998000</us-gaap:PropertyPlantAndEquipmentOther>
    <us-gaap:FurnitureAndFixturesGross
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_330"
      unitRef="USD">717000</us-gaap:FurnitureAndFixturesGross>
    <us-gaap:FurnitureAndFixturesGross
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_331"
      unitRef="USD">706000</us-gaap:FurnitureAndFixturesGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_336"
      unitRef="USD">11165000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_337"
      unitRef="USD">10459000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_338"
      unitRef="USD">8015000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_339"
      unitRef="USD">7700000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_340"
      unitRef="USD">3150000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_341"
      unitRef="USD">2759000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_843">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Three Months Ended&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Nine Months Ended&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Balance at the beginning of the period&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;221&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;311&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;267&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;410&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Accruals for warranties issued during the period&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;117&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;84&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;344&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;207&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Adjustments to previously existing warranty accruals&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:right;"&gt;-&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;61&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Consumption of reserves&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(123&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(107&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(396&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(390&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Balance at the end of the period&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;215&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;288&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;215&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;288&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:ProductWarrantyAccrual
      contextRef="AsOf2023-11-30"
      decimals="-3"
      id="fid_343"
      unitRef="USD">221000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="AsOf2022-11-30"
      decimals="-3"
      id="fid_357"
      unitRef="USD">311000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_354"
      unitRef="USD">267000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="AsOf2022-05-31"
      decimals="-3"
      id="fid_342"
      unitRef="USD">410000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_345"
      unitRef="USD">117000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_353"
      unitRef="USD">84000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_352"
      unitRef="USD">344000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_344"
      unitRef="USD">207000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_346"
      unitRef="USD">0</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_358"
      unitRef="USD">0</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_355"
      unitRef="USD">0</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_349"
      unitRef="USD">61000</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_347"
      unitRef="USD">123000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_359"
      unitRef="USD">107000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_356"
      unitRef="USD">396000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_350"
      unitRef="USD">390000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrual
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_866"
      unitRef="USD">215000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="AsOf2023-02-28"
      decimals="-3"
      id="fid_351"
      unitRef="USD">288000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:DeferredRevenueByArrangementDisclosureTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_844">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;May 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Customer deposits&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;418&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,690&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Deferred revenue&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;68&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;132&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;486&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;2,822&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:DeferredRevenueByArrangementDisclosureTextBlock>
    <us-gaap:CustomerDepositsCurrent
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_360"
      unitRef="USD">418000</us-gaap:CustomerDepositsCurrent>
    <us-gaap:CustomerDepositsCurrent
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_361"
      unitRef="USD">2690000</us-gaap:CustomerDepositsCurrent>
    <us-gaap:DeferredRevenueAndCreditsCurrent
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_362"
      unitRef="USD">68000</us-gaap:DeferredRevenueAndCreditsCurrent>
    <us-gaap:DeferredRevenueAndCreditsCurrent
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_363"
      unitRef="USD">132000</us-gaap:DeferredRevenueAndCreditsCurrent>
    <us-gaap:DeferredRevenue
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_364"
      unitRef="USD">486000</us-gaap:DeferredRevenue>
    <us-gaap:DeferredRevenue
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_365"
      unitRef="USD">2822000</us-gaap:DeferredRevenue>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_821">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;4. INCOME TAX&lt;/strong&gt;&#160;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Company is subject to U.S federal and state and foreign income taxes as a corporation. The Company&#x2019;s tax provision and the resulting effective tax rate for the interim period is determined based upon its estimated annual effective tax rate adjusted for the effect of discrete items arising in that quarter. The Company recorded a provision for income taxes of $7,000 and $43,000 for the three and nine months ended February 29, 2024, respectively, which consisted primarily of foreign withholding taxes and foreign income taxes. The Company recorded a provision for income taxes of $17,000&#160;and $49,000 for the three and nine months ended February 28, 2023, respectively, which consisted primarily of foreign withholding taxes and foreign income taxes.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Income taxes have been provided using the liability method whereby deferred tax assets and liabilities are determined based on differences between financial reporting and tax bases of assets and liabilities and net operating loss and tax credit carryforwards measured using the enacted tax rates and laws that will be in effect when the differences are expected to reverse, or the carryforwards are utilized. Valuation allowances are established when it is determined that it is more likely than not that such assets will not be realized.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Since fiscal 2009, a full valuation allowance was established against all deferred tax assets, as management determined that it was more likely than not that certain deferred tax assets would not be realized. The Company continues to reassess the need for a valuation allowance on a quarterly basis.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Company accounts for uncertain tax positions consistent with authoritative guidance. The guidance prescribes a &#x201c;more likely than not&#x201d; recognition threshold and measurement attribute for the financial statement recognition and measurement of a tax position taken or expected to be taken in a tax return. The Company recognizes interest and penalties related to unrecognized tax benefits as a component of income taxes.&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_368"
      unitRef="USD">7000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_366"
      unitRef="USD">43000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_369"
      unitRef="USD">17000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_367"
      unitRef="USD">49000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:DebtDisclosureTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_822">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;5. BORROWING ARRANGEMENTS&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;On January 16, 2020, the Company entered into a Loan and Security Agreement (the &#x201c;Loan Agreement&#x201d;) with Silicon Valley Bank (&#x201c;SVB&#x201d;). Pursuant to the Loan Agreement, the Company may borrow up to (a) the lesser of (i) the revolving line of $4.0 million or (ii) the amount available under the borrowing base under a revolving line of credit which is collateralized by all the Company&#x2019;s assets except intellectual property. The borrowing base is 80% of eligible accounts, as determined by SVB from the Company&#x2019;s most recent borrowing base statement; provided, however, SVB has the right to decrease the foregoing percentage in its good faith business judgment to mitigate the impact of certain events or conditions, which may adversely affect the collateral or its value. Subject to an event of default, the principal amount outstanding under the revolving line of credit will accrue interest at a floating per annum rate equal to the greater of (a) the prime rate plus an additional percentage of up to 1%, which additional percentage depends on the Company&#x2019;s adjusted quick ratio, and (b) 4.75%. Interest is payable monthly on the last calendar day of each month and the outstanding principal amount, the unpaid interest and all other obligations are due on the maturity date, which is 364 days from the effective date of January 13, 2020.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;On January 14, 2021, the Company entered into the First Amendment to Loan and Security Agreement (the &#x201c;Amendment&#x201d;) with SVB. The Amendment, among other things, extended the Revolving Line Maturity Date to July 14, 2021; provided, however, that if the Company achieved specified operating metrics on a consolidated basis on or prior to May 31, 2021 the Amended Revolving Line Maturity Date would be extended to January 13, 2022. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;On January 11, 2022, the Company entered into the Second Amendment to the Loan and Security Agreement (the &#x201c;Second Amendment&#x201d;) with SVB. The Second Amendment, among other things, (A) increased the available amount of the line up to the lesser of (i) $10 million or (ii) the available amount under the borrowing base, under a revolving line of credit, (B) allowed for borrowing up to $3 million of the available balance based upon eligible customer purchase orders, (C) reduced the interest rate for account advances under the line to the greater of (a) prime rate plus an additional percentage up to 1.0%, which additional percentage depends on the Company&#x2019;s adjusted quick ratio, and (b) 3.25%, reduces the interest rate for purchase order advances under the line to the greater of (a) prime rate plus an additional percentage up to 1.5%, which additional percentage depends on the Company&#x2019;s adjusted quick ratio, and (b) 3.75%, and (D) extended the maturity date to January 13, 2023.&#160; &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;On January 10, 2023, the Company entered into the Third Amendment to the Loan and Security Agreement (the &#x201c;Third Amendment&#x201d;) with SVB. The Third Amendment, among other things, extends the Revolving Line Maturity Date to January 13, 2024, provided, however, that (i) if the Company submits a fiscal year 2024 plan of record that is generally acceptable to SVB, and (ii) the minimum net liquidity at the end of November 30, 2023 is at least $20.0 million, the Amended Revolving Line Maturity Date would be extended to January 13, 2025. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Company terminated the revolving line on January 4, 2024.&lt;/p&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2024-02-29_aehr_OriginalLoanAndSecurityAgreementMember"
      decimals="-5"
      id="fid_377"
      unitRef="USD">4000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentInterestRateTerms
      contextRef="From2023-06-01to2024-02-29_aehr_OriginalLoanAndSecurityAgreementMember"
      id="fid_370">the greater of (a) the prime rate plus an additional percentage of up to 1%, which additional percentage depends on the Company&#x2019;s adjusted quick ratio, and (b) 4.75%</us-gaap:DebtInstrumentInterestRateTerms>
    <us-gaap:LineOfCreditFacilityExpirationDate1
      contextRef="From2023-06-01to2024-02-29_aehr_FirstAmendmentToLoanAndSecurityAgreementMember"
      id="fid_372">2022-01-13</us-gaap:LineOfCreditFacilityExpirationDate1>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="AsOf2024-02-29_aehr_SecondAmendmentToLoanAndSecurityAgreementMember"
      decimals="-6"
      id="fid_378"
      unitRef="USD">10000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentInterestRateTerms
      contextRef="From2023-06-01to2024-02-29_aehr_SecondAmendmentToLoanAndSecurityAgreementMember"
      id="fid_371">the greater of (a) prime rate plus an additional percentage up to 1.0%, which additional percentage depends on the Company&#x2019;s adjusted quick ratio, and (b) 3.25%, reduces the interest rate for purchase order advances under the line to the greater of (a) prime rate plus an additional percentage up to 1.5%, which additional percentage depends on the Company&#x2019;s adjusted quick ratio, and (b) 3.75%</us-gaap:DebtInstrumentInterestRateTerms>
    <us-gaap:LineOfCreditFacilityExpirationDate1
      contextRef="From2023-06-01to2024-02-29_aehr_SecondAmendmentToLoanAndSecurityAgreementMember"
      id="fid_373">2023-01-13</us-gaap:LineOfCreditFacilityExpirationDate1>
    <aehr:AmountOfMinimumNetLiquidityOfCreditFacility
      contextRef="AsOf2024-02-29_aehr_ThirdAmendmentToLoanAndSecurityAgreementMember"
      decimals="-5"
      id="fid_379"
      unitRef="USD">20000000.0</aehr:AmountOfMinimumNetLiquidityOfCreditFacility>
    <us-gaap:LineOfCreditFacilityExpirationDate1
      contextRef="From2023-06-01to2024-02-29_aehr_ThirdAmendmentToLoanAndSecurityAgreementMember"
      id="fid_374">2025-01-13</us-gaap:LineOfCreditFacilityExpirationDate1>
    <aehr:RevolvingLineTerminationDate
      contextRef="From2023-06-01to2024-02-29_aehr_ThirdAmendmentToLoanAndSecurityAgreementMember"
      id="fid_375">January 4, 2024</aehr:RevolvingLineTerminationDate>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_823">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;6. COMMITMENTS AND CONTINGENCIES&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Purchase Obligations&lt;/em&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Company has purchase obligations to certain suppliers. In some cases, the products the Company purchases are unique and have provisions against cancellation of the order.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Contingencies&lt;/em&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Company may, from time to time, be involved in legal proceedings arising in the ordinary course of business. While there can be no assurances as to the ultimate outcome of any litigation involving the Company, management does not believe any pending legal proceedings will result in judgment or settlement that will have a material adverse effect on the Company&#x2019;s consolidated financial position, results of operations or cash flows.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;In the normal course of business to facilitate sales of its products, the Company indemnifies other parties, including customers, with respect to certain matters, for example, including against losses arising from a breach of representations or covenants, or from intellectual property infringement or other claims. These agreements may limit the time within which an indemnification claim can be made and the amount of the claim. In addition, the Company has entered into indemnification agreements with its officers and directors, and the Company&#x2019;s bylaws contain similar indemnification obligations to the Company&#x2019;s agents.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;It is not possible to determine the maximum potential amount under these indemnification agreements due to the limited history of prior indemnification claims and the unique facts and circumstances involved in each particular agreement. To date, payments made by the Company under these agreements have not had a material impact on the Company&#x2019;s operating results, financial position or cash flow.&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_824">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;7. SHAREHOLDERS&#x2019; EQUITY &lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:justify;"&gt;On August 25, 2021, the Board of Directors authorized management to take actions necessary for the execution of a $75 million shelf registration. A Registration Statement on Form S-3 was filed with the SEC on September 3, 2021. A Prospectus Supplement for an "At the Market" ("ATM") sale of $25 million of common stock was subsequently filed on September 17, 2021. On October 8, 2021, the Company executed the ATM offering by selling 1,696,729 shares of common stock at an average selling price of $14.73 per share. The gross proceeds to the Company were $25.0 million, before commission fees of $0.7 million and offering expenses of $0.3 million. Another Prospectus Supplement for an ATM sale of $25 million of common stock was subsequently filed on February 8, 2023. The Company partially executed the ATM offering by selling 208,917 shares of common stock at an average selling price of $34.78 per share. The gross proceeds to the Company during the quarter ended February 28, 2023 were $7.3 million, before commissions of $0.2 million and offering expenses of $0.2 million. As of February 29, 2024, the remaining amount of the ATM offering was $17.7 million.&lt;/p&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <aehr:ShelfRegistrationAmount
      contextRef="AsOf2021-08-25"
      decimals="-6"
      id="fid_391"
      unitRef="USD">75000000</aehr:ShelfRegistrationAmount>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="From2021-10-01to2021-10-08"
      decimals="0"
      id="fid_382"
      unitRef="Shares">1696729</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="AsOf2021-10-08"
      decimals="INF"
      id="fid_380"
      unitRef="USDPShares">14.73</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:SalesCommissionsAndFees
      contextRef="From2021-10-01to2021-10-08"
      decimals="-5"
      id="fid_386"
      unitRef="USD">700000</us-gaap:SalesCommissionsAndFees>
    <us-gaap:NoninterestExpenseOfferingCost
      contextRef="From2021-10-01to2021-10-08"
      decimals="-5"
      id="fid_388"
      unitRef="USD">300000</us-gaap:NoninterestExpenseOfferingCost>
    <us-gaap:ProceedsFromOtherEquity
      contextRef="From2021-10-01to2021-10-08"
      decimals="-6"
      id="fid_384"
      unitRef="USD">25000000</us-gaap:ProceedsFromOtherEquity>
    <us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction
      contextRef="From2023-02-01to2023-02-08"
      decimals="0"
      id="fid_383"
      unitRef="Shares">208917</us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="AsOf2023-02-08"
      decimals="INF"
      id="fid_381"
      unitRef="USDPShares">34.78</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:ProceedsFromOtherEquity
      contextRef="From2023-02-01to2023-02-08"
      decimals="-5"
      id="fid_385"
      unitRef="USD">7300000</us-gaap:ProceedsFromOtherEquity>
    <us-gaap:SalesCommissionsAndFees
      contextRef="From2023-02-01to2023-02-08"
      decimals="-5"
      id="fid_387"
      unitRef="USD">200000</us-gaap:SalesCommissionsAndFees>
    <us-gaap:NoninterestExpenseOfferingCost
      contextRef="From2023-02-01to2023-02-08"
      decimals="-5"
      id="fid_389"
      unitRef="USD">200000</us-gaap:NoninterestExpenseOfferingCost>
    <aehr:OutstandingAmounTofATMOffering
      contextRef="AsOf2024-02-29"
      decimals="-5"
      id="fid_390"
      unitRef="USD">17700000</aehr:OutstandingAmounTofATMOffering>
    <us-gaap:ComprehensiveIncomeNoteTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_825">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;8. ACCUMULATED OTHER COMPREHENSIVE LOSS &lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Changes in the components of accumulated other comprehensive loss, net of tax, were as follows (in thousands):&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Cumulative&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Unrealized loss&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;translation adjustment&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;on investments, net&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Total&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Balance as of May 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(138&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(17&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(155&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Other comprehensive income (loss) before reclassifications&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(6&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;17&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;11&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Balance as of February 29,&#160; 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(144&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(144&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ComprehensiveIncomeNoteTextBlock>
    <us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_845">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Cumulative&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Unrealized loss&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;translation adjustment&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;on investments, net&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Total&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Balance as of May 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(138&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(17&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(155&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Other comprehensive income (loss) before reclassifications&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(6&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;17&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;11&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Balance as of February 29,&#160; 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(144&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(144&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2023-05-31_aehr_CumulativeTranslationAdjustmentsMember"
      decimals="-3"
      id="fid_393"
      unitRef="USD">-138000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2023-05-31_aehr_UnrealizedLossOnInvestmentsMember"
      decimals="-3"
      id="fid_394"
      unitRef="USD">-17000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_392"
      unitRef="USD">-155000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsTax
      contextRef="From2023-06-01to2024-02-29_aehr_CumulativeTranslationAdjustmentsMember"
      decimals="-3"
      id="fid_395"
      unitRef="USD">-6000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsTax
      contextRef="From2023-06-01to2024-02-29_aehr_UnrealizedLossOnInvestmentsMember"
      decimals="-3"
      id="fid_396"
      unitRef="USD">17000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsTax>
    <us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsTax
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_397"
      unitRef="USD">11000</us-gaap:OtherComprehensiveIncomeLossBeforeReclassificationsTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2024-02-29_aehr_CumulativeTranslationAdjustmentsMember"
      decimals="-3"
      id="fid_398"
      unitRef="USD">-144000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2024-02-29_aehr_UnrealizedLossOnInvestmentsMember"
      decimals="-3"
      id="fid_399"
      unitRef="USD">0</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_400"
      unitRef="USD">-144000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_826">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;9. REVENUE&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Revenue recognition&lt;/em&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Company recognizes revenue when promised goods or services are transferred to customers in an amount that reflects the consideration to which the Company expects to be entitled in exchange for those goods or services by following a five-step process: (1) identify the contract with a customer, (2) identify the performance obligations in the contract, (3) determine the transaction price, (4) allocate the transaction price, and (5) recognize revenue when or as the Company satisfies a performance obligation, as further described below.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Performance obligations include sales of systems, contactors, spare parts, as well as installation and training services included in customer contracts. A contract&#x2019;s transaction price is allocated to each distinct performance obligation. In determining the transaction price, the Company evaluates whether the price is subject to refund or adjustment to determine the net consideration to which the Company expects to be entitled. The Company generally does not grant return privileges, except for defective products during the warranty period.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;For contracts that contain multiple performance obligations, the Company allocates the transaction price to the performance obligations on a relative standalone selling price basis. Standalone selling prices are based on multiple factors including, but not limited to historical discounting trends for products and services and pricing practices in different geographies. Revenue for systems and spares is recognized at a point in time, which is generally upon shipment or delivery and evidenced by transfer of title and risk of loss to the customer. Revenue from services is recognized over time as the customer receives the benefit over the contractual period of generally one year or less.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Company has elected the practical expedient to not assess whether a contract has a significant financing component as the Company&#x2019;s standard payment terms are less than one year. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Company sells its products primarily through a direct sales force. In certain international markets, the Company sells its products through independent distributors.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Disaggregation of revenue&lt;/em&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The following presents information about the Company&#x2019;s net revenues in different geographic areas, which are based upon ship-to locations, and by product category:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Three Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Nine Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Asia&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5,167&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;14,849&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;43,320&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;34,873&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,640&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,343&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3,105&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7,761&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Europe&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;756&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;14&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;3,193&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;58&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;7,563&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;17,206&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;49,618&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;42,692&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Three Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Nine Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Systems&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,971&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9,821&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;20,750&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;26,315&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Contactors&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,759&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6,299&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;25,174&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;13,400&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Services&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;833&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,086&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;3,694&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;2,977&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;7,563&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;17,206&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;49,618&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;42,692&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;With the exception of the amount of service contracts and extended warranties, the Company&#x2019;s product net revenues are recognized at a point in time when control transfers to the customer. The following presents net revenues based on timing of recognition:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Three Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Nine Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Timing of revenue recognition:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&#160;&#160; Products and services transferred at a point in time&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7,240&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;16,863&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;48,225&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;41,523&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&#160;&#160; Services transferred over time&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;323&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;343&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,393&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,169&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;7,563&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;17,206&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;49,618&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;42,692&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Contract balances&#160;&#160;&#160;&lt;/em&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Accounts receivable are recognized in the period the Company delivers goods or provides services and when the Company&#x2019;s right to consideration is unconditional. &#160;Contract assets include unbilled receivables which represent revenues that are earned in advance of scheduled billings to customers. These amounts are primarily related to product sales where transfer of control has occurred but the Company has not yet invoiced. As of February 29, 2024, unbilled receivables were $345,000 and were included in prepaid expenses and other current assets on the accompanying Condensed Consolidated Balance Sheets. Contract assets were not significant as of May 31, 2023. &lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Contract liabilities include payments received in advance of performance under a contract and are satisfied as the associated revenue is recognized. Contract liabilities as of February 29, 2024 and May 31, 2023 were $486,000 and $2,853,000, respectively, and were included in deferred revenue, short-term and deferred revenue, long-term on the accompanying Condensed Consolidated Balance Sheets. During the three and nine months ended February 29, 2024, the Company recognized $31,000 and $2,802,000 in revenue, respectively, which were included in contract liabilities as of May 31, 2023.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Remaining performance obligations&lt;/em&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;On February 29, 2024, the Company had $68,000 of remaining performance obligations, which were comprised of service contracts and extended warranty contracts not yet delivered. The Company expects to recognize approximately&#160;30.2% of its remaining performance obligations as revenue in the remainder of fiscal 2024, and an additional&#160;69.8% in fiscal 2025. The foregoing excludes the value of other remaining performance obligations, as they have original durations of one year or less and excludes information about variable consideration allocated entirely to a wholly unsatisfied performance obligation.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;em&gt;Costs to obtain or fulfill a contract&lt;/em&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Company generally expenses sales commissions when incurred as a component of selling, general and administrative expenses as the amortization period is typically less than one year. Additionally, the majority of the Company&#x2019;s cost of fulfillment as a manufacturer of products is classified as inventory and fixed assets, which are accounted for under the respective guidance for those asset types. Other costs of contract fulfillment are immaterial due to the nature of the Company&#x2019;s products and their respective manufacturing process.&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_846">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Three Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Nine Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Asia&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5,167&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;14,849&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;43,320&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;34,873&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,640&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,343&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3,105&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7,761&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Europe&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;756&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;14&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;3,193&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;58&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;7,563&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;17,206&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;49,618&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;42,692&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Three Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Nine Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Systems&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,971&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;9,821&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;20,750&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;26,315&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Contactors&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;4,759&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6,299&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;25,174&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;13,400&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Services&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;833&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,086&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;3,694&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;2,977&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;7,563&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;17,206&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;49,618&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;42,692&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Three Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Nine Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Timing of revenue recognition:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&#160;&#160; Products and services transferred at a point in time&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7,240&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;16,863&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;48,225&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;41,523&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&#160;&#160; Services transferred over time&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;323&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;343&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,393&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,169&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;7,563&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;17,206&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;49,618&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;42,692&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-12-01to2024-02-29_srt_AsiaMember"
      decimals="-3"
      id="fid_411"
      unitRef="USD">5167000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-12-01to2023-02-28_srt_AsiaMember"
      decimals="-3"
      id="fid_412"
      unitRef="USD">14849000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-06-01to2024-02-29_srt_AsiaMember"
      decimals="-3"
      id="fid_407"
      unitRef="USD">43320000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-06-01to2023-02-28_srt_AsiaMember"
      decimals="-3"
      id="fid_408"
      unitRef="USD">34873000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-12-01to2024-02-29_country_US"
      decimals="-3"
      id="fid_415"
      unitRef="USD">1640000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-12-01to2023-02-28_country_US"
      decimals="-3"
      id="fid_416"
      unitRef="USD">2343000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-06-01to2024-02-29_country_US"
      decimals="-3"
      id="fid_403"
      unitRef="USD">3105000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-06-01to2023-02-28_country_US"
      decimals="-3"
      id="fid_404"
      unitRef="USD">7761000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-12-01to2024-02-29_srt_EuropeMember"
      decimals="-3"
      id="fid_413"
      unitRef="USD">756000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-12-01to2023-02-28_srt_EuropeMember"
      decimals="-3"
      id="fid_414"
      unitRef="USD">14000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-06-01to2024-02-29_srt_EuropeMember"
      decimals="-3"
      id="fid_405"
      unitRef="USD">3193000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-06-01to2023-02-28_srt_EuropeMember"
      decimals="-3"
      id="fid_406"
      unitRef="USD">58000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_409"
      unitRef="USD">7563000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_410"
      unitRef="USD">17206000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_401"
      unitRef="USD">49618000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_402"
      unitRef="USD">42692000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-12-01to2024-02-29_aehr_SystemsMember"
      decimals="-3"
      id="fid_427"
      unitRef="USD">1971000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-12-01to2023-02-28_aehr_SystemsMember"
      decimals="-3"
      id="fid_428"
      unitRef="USD">9821000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-06-01to2024-02-29_aehr_SystemsMember"
      decimals="-3"
      id="fid_419"
      unitRef="USD">20750000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-06-01to2023-02-28_aehr_SystemsMember"
      decimals="-3"
      id="fid_422"
      unitRef="USD">26315000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-12-01to2024-02-29_aehr_ContactorsMember"
      decimals="-3"
      id="fid_429"
      unitRef="USD">4759000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-12-01to2023-02-28_aehr_ContactorsMember"
      decimals="-3"
      id="fid_430"
      unitRef="USD">6299000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-06-01to2024-02-29_aehr_ContactorsMember"
      decimals="-3"
      id="fid_421"
      unitRef="USD">25174000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-06-01to2023-02-28_aehr_ContactorsMember"
      decimals="-3"
      id="fid_423"
      unitRef="USD">13400000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-12-01to2024-02-29_aehr_ServicesMember"
      decimals="-3"
      id="fid_431"
      unitRef="USD">833000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-12-01to2023-02-28_aehr_ServicesMember"
      decimals="-3"
      id="fid_432"
      unitRef="USD">1086000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-06-01to2024-02-29_aehr_ServicesMember"
      decimals="-3"
      id="fid_420"
      unitRef="USD">3694000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-06-01to2023-02-28_aehr_ServicesMember"
      decimals="-3"
      id="fid_424"
      unitRef="USD">2977000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_425"
      unitRef="USD">7563000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_426"
      unitRef="USD">17206000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_417"
      unitRef="USD">49618000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_418"
      unitRef="USD">42692000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-12-01to2024-02-29_aehr_ProductsAndServicesTransferredAtAPointInTimeMember"
      decimals="-3"
      id="fid_441"
      unitRef="USD">7240000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-12-01to2023-02-28_aehr_ProductsAndServicesTransferredAtAPointInTimeMember"
      decimals="-3"
      id="fid_442"
      unitRef="USD">16863000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-06-01to2024-02-29_aehr_ProductsAndServicesTransferredAtAPointInTimeMember"
      decimals="-3"
      id="fid_436"
      unitRef="USD">48225000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-06-01to2023-02-28_aehr_ProductsAndServicesTransferredAtAPointInTimeMember"
      decimals="-3"
      id="fid_435"
      unitRef="USD">41523000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-12-01to2024-02-29_aehr_ServicesTransferredOverTimeMember"
      decimals="-3"
      id="fid_443"
      unitRef="USD">323000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-12-01to2023-02-28_aehr_ServicesTransferredOverTimeMember"
      decimals="-3"
      id="fid_444"
      unitRef="USD">343000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-06-01to2024-02-29_aehr_ServicesTransferredOverTimeMember"
      decimals="-3"
      id="fid_438"
      unitRef="USD">1393000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-06-01to2023-02-28_aehr_ServicesTransferredOverTimeMember"
      decimals="-3"
      id="fid_437"
      unitRef="USD">1169000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_439"
      unitRef="USD">7563000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_440"
      unitRef="USD">17206000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_434"
      unitRef="USD">49618000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_433"
      unitRef="USD">42692000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ContractWithCustomerAssetNet
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="fid_452"
      unitRef="USD">345000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerLiability
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="fid_445"
      unitRef="USD">486000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="AsOf2023-05-31"
      decimals="0"
      id="fid_446"
      unitRef="USD">2853000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="From2023-12-01to2024-02-29"
      decimals="0"
      id="fid_451"
      unitRef="USD">31000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="From2023-06-01to2024-02-29"
      decimals="0"
      id="fid_447"
      unitRef="USD">2802000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="fid_450"
      unitRef="USD">68000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="AsOf2024-05-30_srt_ScenarioForecastMember_us-gaap_SubsequentEventMember"
      decimals="INF"
      id="fid_448"
      unitRef="Pure">0.302</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="AsOf2025-05-30_srt_ScenarioForecastMember_us-gaap_SubsequentEventMember"
      decimals="INF"
      id="fid_449"
      unitRef="Pure">0.698</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_827">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;10. STOCK-BASED COMPENSATION&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Stock-based compensation expense consists of expenses for stock options, restricted stock units (&#x201c;RSUs&#x201d;), performance RSUs (&#x201c;PRSUs&#x201d;), restricted shares, performance restricted shares and employee stock purchase plan (&#x201c;ESPP&#x201d;), purchase rights. Stock-based compensation expense for stock options and ESPP purchase rights is measured at each grant date, based on the fair value of the award using the Black-Scholes option valuation model, and is recognized as expense over the employee&#x2019;s requisite service period. This model was developed for use in estimating the value of publicly traded options that have no vesting restrictions and are fully transferable. The Company&#x2019;s employee stock options have characteristics significantly different from those of publicly traded options. For RSUs, PRSUs, restricted shares and performance restricted shares, stock-based compensation expense is based on the fair value of the Company&#x2019;s common stock at the grant date and is recognized as expense over the employee&#x2019;s requisite service period. All of the Company&#x2019;s stock-based compensation is accounted for as equity instruments. See Note 13 in the Company&#x2019;s Annual Report on Form 10-K for fiscal 2023 filed on August 28, 2023 for further information regarding the 2016 Equity Incentive Plan and the ESPP. On October 23, 2023, the shareholders of the Company approved the 2023 Equity Incentive Plan and on October 27, 2023, the Company filed the Form S-8 to issue awards during this quarter onwards from a pool of 1,500,000 shares. Full value awards, which are equity awards other than options, stock appreciation rights or other awards that are based solely on an increase in value of the shares following the grant date, when granted or forfeited will be counted as the same number of common stock shares added or deducted to the remaining available shares for issuance under the 2023 Equity Incentive Plan.&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The following table summarizes the stock-based compensation expense for the three and nine months ended February 29, 2024 and February 28, 2023:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Three Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Nine Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Cost of sales&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;58&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;75&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;222&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;252&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Research and development&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;148&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;158&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;440&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;513&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Selling, general and administrative&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;377&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;359&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,081&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,330&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;583&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;592&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;1,743&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;2,095&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Stock-based compensation expense totaling $252,000&#160;and $120,000 was capitalized as part of inventory as of February 29, 2024 and as of May 31, 2023, respectively.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Company&#x2019;s nonvested RSU, PRSU and restricted shares activities during the three and nine months ended February 29, 2024 were as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Weighted&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Average Grant&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Date Fair&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Shares&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Value&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;(in thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Per Share&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Unvested, May 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;345&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6.40&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(77&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7.16&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Forfeited&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(52&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5.79&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Unvested, August 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;216&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6.27&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;203&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;31.51&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(28&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;8.02&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Forfeited&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(1&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;29.79&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Unvested, November 30, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;390&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;19.28&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;22.57&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(32&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;12.42&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Forfeited&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(6&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6.21&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Unvested, February 29, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;353&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;20.16&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Under the ESPP, the Company issued&#160;24,000&#160;and&#160;109,000&#160;shares, respectively, during the nine months ended February 29, 2024 and February 28, 2023.&#160;As of February 29, 2024 and February 28, 2023, ESPP shares available for issuance totaled 373,000&#160;and&#160;499,000, respectively.&lt;/p&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="From2023-06-01to2024-02-29"
      decimals="0"
      id="fid_499"
      unitRef="Shares">1500000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_847">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Three Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Nine Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Cost of sales&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;58&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;75&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;222&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;252&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Research and development&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;148&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;158&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;440&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;513&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Selling, general and administrative&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;377&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;359&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,081&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,330&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;583&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;592&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;1,743&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;2,095&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-12-01to2024-02-29_us-gaap_CostOfSalesMember"
      decimals="-3"
      id="fid_454"
      unitRef="USD">58000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-12-01to2023-02-28_us-gaap_CostOfSalesMember"
      decimals="-3"
      id="fid_453"
      unitRef="USD">75000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-06-01to2024-02-29_us-gaap_CostOfSalesMember"
      decimals="-3"
      id="fid_461"
      unitRef="USD">222000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-06-01to2023-02-28_us-gaap_CostOfSalesMember"
      decimals="-3"
      id="fid_462"
      unitRef="USD">252000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-12-01to2024-02-29_us-gaap_ResearchAndDevelopmentExpenseMember"
      decimals="-3"
      id="fid_458"
      unitRef="USD">148000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-12-01to2023-02-28_us-gaap_ResearchAndDevelopmentExpenseMember"
      decimals="-3"
      id="fid_457"
      unitRef="USD">158000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-06-01to2024-02-29_us-gaap_ResearchAndDevelopmentExpenseMember"
      decimals="-3"
      id="fid_463"
      unitRef="USD">440000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-06-01to2023-02-28_us-gaap_ResearchAndDevelopmentExpenseMember"
      decimals="-3"
      id="fid_466"
      unitRef="USD">513000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-12-01to2024-02-29_us-gaap_GeneralAndAdministrativeExpenseMember"
      decimals="-3"
      id="fid_456"
      unitRef="USD">377000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-12-01to2023-02-28_us-gaap_GeneralAndAdministrativeExpenseMember"
      decimals="-3"
      id="fid_455"
      unitRef="USD">359000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-06-01to2024-02-29_us-gaap_GeneralAndAdministrativeExpenseMember"
      decimals="-3"
      id="fid_464"
      unitRef="USD">1081000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-06-01to2023-02-28_us-gaap_GeneralAndAdministrativeExpenseMember"
      decimals="-3"
      id="fid_467"
      unitRef="USD">1330000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_459"
      unitRef="USD">583000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_460"
      unitRef="USD">592000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_465"
      unitRef="USD">1743000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_468"
      unitRef="USD">2095000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:CapitalizedCostsAssetRetirementCosts
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="fid_497"
      unitRef="USD">252000</us-gaap:CapitalizedCostsAssetRetirementCosts>
    <us-gaap:CapitalizedCostsAssetRetirementCosts
      contextRef="AsOf2023-05-31"
      decimals="0"
      id="fid_498"
      unitRef="USD">120000</us-gaap:CapitalizedCostsAssetRetirementCosts>
    <us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_848">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Weighted&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Average Grant&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Date Fair&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Shares&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Value&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;(in thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Per Share&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Unvested, May 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;345&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6.40&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(77&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;7.16&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Forfeited&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(52&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;5.79&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Unvested, August 31, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;216&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6.27&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;203&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;31.51&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(28&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;8.02&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Forfeited&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(1&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;29.79&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Unvested, November 30, 2023&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;390&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;19.28&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Granted&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;22.57&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Vested&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;(32&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;12.42&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Forfeited&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;(6&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;6.21&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Unvested, February 29, 2024&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;353&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;20.16&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="AsOf2023-05-31_aehr_NonvestedRSUActivtyMember"
      decimals="-3"
      id="fid_469"
      unitRef="Shares">345000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2023-05-31_aehr_NonvestedRSUActivtyMember"
      decimals="INF"
      id="fid_473"
      unitRef="USDPShares">6.40</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="From2023-06-01to2023-08-31_aehr_NonvestedRSUActivtyMember"
      decimals="-3"
      id="fid_471"
      unitRef="Shares">77000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
      contextRef="From2023-06-01to2023-08-31_aehr_NonvestedRSUActivtyMember"
      decimals="INF"
      id="fid_475"
      unitRef="USDPShares">7.16</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited
      contextRef="From2023-06-01to2023-08-31_aehr_NonvestedRSUActivtyMember"
      decimals="-3"
      id="fid_472"
      unitRef="Shares">52000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="From2023-06-01to2023-08-31_aehr_NonvestedRSUActivtyMember"
      decimals="INF"
      id="fid_476"
      unitRef="USDPShares">5.79</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="AsOf2023-08-31_aehr_NonvestedRSUActivtyMember"
      decimals="-3"
      id="fid_488"
      unitRef="Shares">216000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2023-08-31_aehr_NonvestedRSUActivtyMember"
      decimals="INF"
      id="fid_492"
      unitRef="USDPShares">6.27</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2023-09-01to2023-11-30_aehr_NonvestedRSUActivtyMember"
      decimals="-3"
      id="fid_489"
      unitRef="Shares">203000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2023-09-01to2023-11-30_aehr_NonvestedRSUActivtyMember"
      decimals="INF"
      id="fid_493"
      unitRef="USDPShares">31.51</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="From2023-09-01to2023-11-30_aehr_NonvestedRSUActivtyMember"
      decimals="-3"
      id="fid_487"
      unitRef="Shares">28000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
      contextRef="From2023-09-01to2023-11-30_aehr_NonvestedRSUActivtyMember"
      decimals="INF"
      id="fid_494"
      unitRef="USDPShares">8.02</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited
      contextRef="From2023-09-01to2023-11-30_aehr_NonvestedRSUActivtyMember"
      decimals="-3"
      id="fid_490"
      unitRef="Shares">1000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="From2023-09-01to2023-11-30_aehr_NonvestedRSUActivtyMember"
      decimals="INF"
      id="fid_495"
      unitRef="USDPShares">29.79</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="AsOf2023-11-30_aehr_NonvestedRSUActivtyMember"
      decimals="-3"
      id="fid_478"
      unitRef="Shares">390000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2023-11-30_aehr_NonvestedRSUActivtyMember"
      decimals="INF"
      id="fid_482"
      unitRef="USDPShares">19.28</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="From2023-12-01to2024-02-29_aehr_NonvestedRSUActivtyMember"
      decimals="-3"
      id="fid_477"
      unitRef="Shares">1000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="From2023-12-01to2024-02-29_aehr_NonvestedRSUActivtyMember"
      decimals="INF"
      id="fid_484"
      unitRef="USDPShares">22.57</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="From2023-12-01to2024-02-29_aehr_NonvestedRSUActivtyMember"
      decimals="-3"
      id="fid_479"
      unitRef="Shares">32000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue
      contextRef="From2023-12-01to2024-02-29_aehr_NonvestedRSUActivtyMember"
      decimals="INF"
      id="fid_483"
      unitRef="USDPShares">12.42</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited
      contextRef="From2023-12-01to2024-02-29_aehr_NonvestedRSUActivtyMember"
      decimals="-3"
      id="fid_480"
      unitRef="Shares">6000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue
      contextRef="From2023-12-01to2024-02-29_aehr_NonvestedRSUActivtyMember"
      decimals="INF"
      id="fid_485"
      unitRef="USDPShares">6.21</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="AsOf2024-02-29_aehr_NonvestedRSUActivtyMember"
      decimals="-3"
      id="fid_481"
      unitRef="Shares">353000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="AsOf2024-02-29_aehr_NonvestedRSUActivtyMember"
      decimals="INF"
      id="fid_486"
      unitRef="USDPShares">20.16</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="From2023-06-01to2024-02-29"
      decimals="0"
      id="fid_501"
      unitRef="Shares">24000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="From2022-06-01to2023-02-28"
      decimals="0"
      id="fid_502"
      unitRef="Shares">109000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <aehr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeStockPurchasePlanNumberOfSharesAvailableForGrant
      contextRef="AsOf2024-02-29"
      decimals="0"
      id="fid_500"
      unitRef="Shares">373000</aehr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeStockPurchasePlanNumberOfSharesAvailableForGrant>
    <aehr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeStockPurchasePlanNumberOfSharesAvailableForGrant
      contextRef="AsOf2023-02-28"
      decimals="0"
      id="fid_503"
      unitRef="Shares">499000</aehr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEmployeeStockPurchasePlanNumberOfSharesAvailableForGrant>
    <us-gaap:EarningsPerShareTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_828">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;11. NET INCOME (LOSS) PER SHARE&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Basic net income (loss) per share is determined using the weighted average number of common shares outstanding during the period. Diluted net income (loss) per share is determined using the weighted average number of common shares and potential common shares (representing the hypothetical number of incremental shares issuable under the assumed exercise of outstanding stock options, and vesting of outstanding RSUs and ESPP shares) during the period using the treasury stock method. The calculation of dilutive shares outstanding excludes securities that would have an antidilutive effect on net income (loss) per share.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The following table presents the computation of basic and diluted net income (loss) per share:&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Three Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Nine Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands, except per share data)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Numerator:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Net income (loss)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(1,471&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;4,132&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;9,292&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;8,446&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Denominator:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Basic weighted average shares outstanding&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;28,866&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;27,893&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;28,773&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;27,571&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Dilutive effect of common equivalent shares outstanding&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,480&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;897&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,509&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Diluted weighted average shares outstanding&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;28,866&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;29,373&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;29,670&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;29,080&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Net income per share - Basic&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(0.05&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;0.15&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;0.32&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;0.31&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Net income per share - Diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(0.05&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;0.14&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;0.31&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;0.29&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Antidilutive employee share-based award shares, excluded&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,203&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;15&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;71&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;15&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_849">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Three Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="6" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;Nine Months Ended &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 28, &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands, except per share data)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Numerator:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" colspan="2" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Net income (loss)&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(1,471&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;4,132&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;9,292&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;8,446&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Denominator:&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Basic weighted average shares outstanding&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;28,866&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;27,893&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;28,773&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;27,571&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Dilutive effect of common equivalent shares outstanding&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;-&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,480&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;897&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;1,509&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Diluted weighted average shares outstanding&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;28,866&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;29,373&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;29,670&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;29,080&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Net income per share - Basic&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(0.05&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;0.15&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;0.32&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;0.31&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Net income per share - Diluted&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;(0.05&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;)&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;0.14&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;0.31&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;0.29&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Antidilutive employee share-based award shares, excluded&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;1,203&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;15&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;71&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;15&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_517"
      unitRef="USD">-1471000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_516"
      unitRef="USD">4132000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_504"
      unitRef="USD">9292000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_515"
      unitRef="USD">8446000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_522"
      unitRef="Shares">28866000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_506"
      unitRef="Shares">27893000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_505"
      unitRef="Shares">28773000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_523"
      unitRef="Shares">27571000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_508"
      unitRef="Shares">1480000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_507"
      unitRef="Shares">897000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_524"
      unitRef="Shares">1509000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_520"
      unitRef="Shares">28866000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_510"
      unitRef="Shares">29373000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_509"
      unitRef="Shares">29670000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_525"
      unitRef="Shares">29080000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-12-01to2024-02-29"
      decimals="INF"
      id="fid_518"
      unitRef="USDPShares">-0.05</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-12-01to2023-02-28"
      decimals="INF"
      id="fid_512"
      unitRef="USDPShares">0.15</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2023-06-01to2024-02-29"
      decimals="INF"
      id="fid_511"
      unitRef="USDPShares">0.32</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="From2022-06-01to2023-02-28"
      decimals="INF"
      id="fid_526"
      unitRef="USDPShares">0.31</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-12-01to2024-02-29"
      decimals="INF"
      id="fid_519"
      unitRef="USDPShares">-0.05</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-12-01to2023-02-28"
      decimals="INF"
      id="fid_514"
      unitRef="USDPShares">0.14</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2023-06-01to2024-02-29"
      decimals="INF"
      id="fid_513"
      unitRef="USDPShares">0.31</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="From2022-06-01to2023-02-28"
      decimals="INF"
      id="fid_527"
      unitRef="USDPShares">0.29</us-gaap:EarningsPerShareDiluted>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2023-12-01to2024-02-29"
      decimals="-3"
      id="fid_528"
      unitRef="Shares">1203000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2022-12-01to2023-02-28"
      decimals="-3"
      id="fid_530"
      unitRef="Shares">15000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2023-06-01to2024-02-29"
      decimals="-3"
      id="fid_529"
      unitRef="Shares">71000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="From2022-06-01to2023-02-28"
      decimals="-3"
      id="fid_531"
      unitRef="Shares">15000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_829">&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&lt;strong&gt;12. SEGMENT AND CONCENTRATION INFORMATION&lt;/strong&gt;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Operating segments are defined as components of an enterprise about which separate financial information is available that is evaluated regularly by the chief operating decision maker, or group, in deciding how to allocate resources and in assessing performance.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;The Company&#x2019;s chief operating decision maker, the chief executive officer, reviews discrete financial information presented on a consolidated basis for purposes of regularly making operating decisions and assessing financial performance. Accordingly, the Company considers itself to be in one operating segment.&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;Long-lived assets, net by geographic area are as follows:&lt;/p&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px; text-align:justify;"&gt;&#160;&lt;/p&gt;&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;May 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3,015&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,713&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;International&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;135&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;46&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Total long-lived assets, net&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;3,150&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;2,759&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock contextRef="From2023-06-01to2024-02-29" id="fid_850">&lt;table cellpadding="0" style="border-spacing:0;text-align:left;font:10pt times new roman;width:100%"&gt;&lt;tbody&gt;&lt;tr style="height:15px"&gt;&lt;td&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;February 29,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;May 31,&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px"&gt;&lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;&lt;strong&gt;(In thousands)&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2024&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="hdcell" colspan="2" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:center;"&gt;&lt;p style="FONT-SIZE: 10pt; FONT-FAMILY: times new roman; MARGIN: 0px 0px 0px 0in; text-align:center;"&gt;&lt;strong&gt;2023&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;United States&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;3,015&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="width:9%;vertical-align:bottom;text-align:right;"&gt;2,713&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#ffffff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;International&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;135&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 1px solid;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 1px solid;width:9%;vertical-align:bottom;text-align:right;"&gt;46&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 1px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15px;background-color:#cceeff"&gt;&lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px 0px 0px 0in"&gt;Total long-lived assets, net&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;3,150&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-BOTTOM: 3px double;width:1%;vertical-align:bottom;white-space: nowrap;"&gt;$&lt;/td&gt;&lt;td class="ffcell" style="BORDER-BOTTOM: 3px double;width:9%;vertical-align:bottom;text-align:right;"&gt;2,759&lt;/td&gt;&lt;td style="PADDING-BOTTOM: 3px;width:1%;white-space: nowrap;"&gt;&lt;p style="font-size:10pt;font-family:times new roman;margin:0px"&gt;&#160;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-02-29_country_US"
      decimals="-3"
      id="fid_534"
      unitRef="USD">3015000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-05-31_country_US"
      decimals="-3"
      id="fid_535"
      unitRef="USD">2713000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-02-29_aehr_InternationalMember"
      decimals="-3"
      id="fid_536"
      unitRef="USD">135000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-05-31_aehr_InternationalMember"
      decimals="-3"
      id="fid_537"
      unitRef="USD">46000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2024-02-29"
      decimals="-3"
      id="fid_532"
      unitRef="USD">3150000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="AsOf2023-05-31"
      decimals="-3"
      id="fid_533"
      unitRef="USD">2759000</us-gaap:PropertyPlantAndEquipmentNet>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
